Regex соответствует многобайтовым числам

Мне нужно сопоставить многобайтовые символы 0123456789 из японского языка, используя регулярное выражение.

[0-9] в этом случае не работает. Как я могу сделать это регулярное выражение? Это мой первый опыт сопоставления многобайтовых строк.

ОБНОВИТЬ

Сопоставление строки из 4 цифр, например года рождения, было успешным как с кодировкой UTF-8, так и без UTF-8, используя следующие regex

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


person Community    schedule 08.08.2013    source источник
comment
0123456789это юникод?   -  person Robert Harvey    schedule 08.08.2013
comment
Если это Юникод, см. эту ссылку   -  person gr3co    schedule 08.08.2013


Ответы (2)


Регулярное выражение, эквивалентное /[0-9]/ для этих многобайтовых чисел в Javascript,

/[\uff10-\uff19]/
person Tim Pietzcker    schedule 08.08.2013

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), если используете неэкранированную версию.

person Fabrício Matté    schedule 08.08.2013