Как соответствовать международному алфавиту (английский a-z, + не английский) с регулярным выражением?

Я хочу позволить только вводимые данные из английского алфавита и из алфавита из Германии.

Как öäü ИЛИ Франция как áê или китайский язык как...

Как я могу настроить свое регулярное выражение, таким образом, оно принимает все алфавитные символы от международного алфавита?

13
задан Peter Mortensen 4 January 2011 в 01:01
поделиться

4 ответа

Поскольку вы специально запрашиваете Unicode, \ p {L} - это ярлык для буквы Unicode. Однако не все разновидности регулярных выражений поддерживают этот синтаксис. .NET, Perl, Java и механизм регулярных выражений JGSoft будут, например, Python - нет.

Так, например, \ b \ p {L} + \ b будет соответствовать целому слову символов Unicode.

14
ответ дан 2 December 2019 в 00:03
поделиться

С PCRE это будет \w, символ "слово". При правильной настройке он также принимает Юникод.

1
ответ дан 2 December 2019 в 00:03
поделиться

Это варьируется. В некоторых языках есть флаг "Unicode", который расширяет \ d , \ w и т. Д. Некоторые поддерживают классы эквивалентности в диапазоне, например [[= e =]] соответствует e , é , ê и т. Д. В документации по регулярным выражениям для вашего языка или библиотеки будет объяснено какие варианты доступны.

1
ответ дан 2 December 2019 в 00:03
поделиться

На многих языках вы можете просто ввести символы Юникода в класс символов: [a-zäöüß] и т. Д.

]
0
ответ дан 2 December 2019 в 00:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: