如何将西里尔字符与正则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]*$ 

它匹配特殊字符,西里尔文字母,英文字母。