如何将西里尔字符与正则expression式匹配
如何使用正则expression式匹配法语和俄语西里尔字母字符? 我只想做字母字符,没有数字或特殊字符。 现在我有
[A-ZA-Z]
这取决于你的正则expression风格。 如果它支持Unicode字符类(例如.NET), \p{L}
匹配一个字母字符(在任何字符集中)。
要匹配俄罗斯(西里尔)字符,你可以使用这个正则expression式:
[\p{IsCyrillic}]
如果你使用现代的PHP版本 – 只是:
preg_match("/^[\p{L}]+$/u");
不要忘记u标志为unicode支持!
看看这个问题:正则expression式和unicode
各种正则expression式方言使用[:alpha:]
作为当前语言环境中的任何字母数字字符。 (你可能需要把它放在一个字符类中,例如[[:alpha:]]
。)
正则expression式匹配正则(英文)字母表的西里尔字母:
^[A-Za-z.!@?#"$%&:;() *\+,\/;\-=[\\\]\^_{|}<>\u0400-\u04FF]*$
它匹配特殊字符,西里尔文字母,英文字母。