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

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

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

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

Ответ 1

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

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

Ответ 2

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

Ответ 3

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

Ответ 4

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