4

正規表現を使用して、日本語のマルチバイト 0123456789 文字を照合する必要があります。

[0-9]この場合は機能しません。この正規表現を作成するにはどうすればよいですか? これは、マルチバイト文字列のマッチングへの私の最初の進出です。

アップデート

誕生年などの 4 桁の文字列の照合は、次を使用して UTF-8 と非 UTF-8 の両方で成功しました。regex

^([0-9]{4}||[\uFF10-\uFF19]{4})$

4

2 に答える 2

4

/[0-9]/Javascript のこれらのマルチバイト数に相当する正規表現は次のとおりです。

/[\uff10-\uff19]/
于 2013-08-08T19:50:39.113 に答える
3
var str = '0123456789';
console.log(
    str.match(new RegExp('[0-9]', 'g')),
    str.match(/[\uff10-\uff19]/g) 
);
//returns ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] both ways

.jsエスケープされていないバージョンを使用する場合は、必ず適切なエンコード (UTF-8) でファイルを保存してください。

于 2013-08-08T19:50:57.770 に答える