Как я могу сопоставить символы французской и русской кириллицы с регулярным выражением? Я просто хочу делать альфа-символы, цифры или специальные символы. Прямо сейчас у меня
[A-Za-Z]
Как я могу сопоставить символы французской и русской кириллицы с регулярным выражением? Я просто хочу делать альфа-символы, цифры или специальные символы. Прямо сейчас у меня
[A-Za-Z]
Это зависит от вашего аромата регулярного выражения. Если он поддерживает классы символов Unicode (например,.NET), \p{L}
соответствует буквенному символу (в любом наборе символов).
Если ваш аромат regex
поддерживает блоки Unicode ([\p{IsCyrillic}]
), вы можете сопоставить русские (кириллические) символы с:
[\p{IsCyrillic}] or [\p{Cyrillic}]
В противном случае попробуйте использовать:
[U+0400–U+04FF]
Для PHP
используйте:
[\x{0400}-\x{04FF}]
Объяснение:
[\p{IsCyrillic}]
Match a character from the Unicode block 'Cyrillic' (U+0400–U+04FF) «[\p{IsCyrillic}]»
Примечание:
Список символов Unicode и Числовые HTML-объекты [U+0400–U+04FF]
.
Если вы используете современную версию PHP - просто:
preg_match("/^[\p{L}]+$/u");
Не забывайте флаг u для поддержки юникода!
Регулярное выражение соответствует кириллическим алфавитам с обычными (английскими) алфавитами:
^[[email protected]?#"$%&:;() *\+,\/;\-=[\\\]\^_{|}<>\u0400-\u04FF]*$
Он соответствует специальным символам, кириллическим алфавитам, английским алфавитам.
это сработало для меня
[a-z\u0400-\u04FF]
Различные диалекты regex используют [:alpha:]
для любого алфавитно-цифрового символа в текущем языковом стиле. (Возможно, вам придется поместить это в класс символов, например [[:alpha:]]
.)
Если вы используете эликсир:
String.match?(string, ~r/^\p{Cyrillic}*$/u)
Вам нужно добавить флаг u
для поддержки юникода.
Для совпадения только русских символов кириллицы используйте:
[\u0401\u0451\u0410-\u044f]
что эквивалентно:
[ЁёА-я]
где А
- кириллица, а не латынь. (Несмотря на то, что они выглядят одинаково, у них разные коды)
\p{IsCyrillic}
, \p{Cyrillic}
, [\u0400-\u04FF]
который другие предложили, будет соответствовать всем вариантам кириллицы, не только русскому
В Java для сопоставления кириллицы и пробела используйте следующий шаблон
^[\p{InCyrillic}\s]+$