Это зависит от вашего диалекта регулярных выражений.К сожалению, вероятно, большинство существующих движков JavaScript не поддерживают классы символов Unicode.
В механизмах регулярных выражений, таких как в (недавних) Perl или .Net, можно ссылаться на классы символов Unicode.
\ p {L}: любое письмо от любого языка.\ p {N}: любой символ числа на любом языке (включая, насколько я помню, глифы с номерами на индейском и арабском языках и CJK).
Поскольку Unicode поддерживает составные и разложенные глифы, вы можете столкнуться с некоторыми сложностями:а именно, если существуют только разложенные формы, возможно, вы можете случайно исключить некоторые диакритические знаки в своем шаблоне сопоставления, и вам может понадобиться явно разрешить глифы типа Mark.Вы можете несколько смягчить это, используя, если я правильно помню, строку, которая была нормализована с помощью нормализации kC (только для символов, которые имеют составную форму).В средах, которые хорошо поддерживают Unicode, обычно есть функция, которая позволяет довольно легко нормализовать строки Unicode (по крайней мере, в Java и .Net).
Отредактировано для добавления : Если выВы пошли по этому пути или рассмотрели его, чтобы восстановить здравый смысл, вы можете поэкспериментировать с Плагином Юникода для XRegExp (который потребует от вас зависимости от XRegExp).