2009-11-11 37 views

回答

23

这取决于你的正则表达式。如果它支持Unicode字符类(例如.NET),则\p{L}与字母字符(在任何字符集中)匹配。

+0

在Java中如何做? – 2015-12-16 19:18:56

2

各种正则表达式方言使用[:alpha:]用于在当前区域设置任何字母数字字符。 (你可能需要把它放在一个字符类中,例如[[:alpha:]])。

28

如果正则表达式支持的Unicode块,你可以匹配的俄罗斯(斯拉夫)字符:

[\p{IsCyrillic}] 

否则尝试:

[U+0400–U+04FF] 

说明:

[\p{IsCyrillic}] 

Options: Case insensitive; Exact spacing; Dot doesn’t match line breaks; ^$ don’t match at line breaks; Numbered capture 

Match a character from the Unicode block “Cyrillic” (U+0400–U+04FF) «[\p{IsCyrillic}]» 
+0

这个线程解释说:http://stackoverflow.com/questions/7926514/matching-cyrilic-symbols-in-c-sharp – 2013-01-16 10:12:30

7

如果哟u使用现代化的PHP版本 - 只是:

preg_match("/^[\p{L}]+$/u"); 

不要忘了ü标志对Unicode的支持!

3

正则表达式与正常(英文)字母匹配西里尔字母:

^[[email protected]?#"$%&:;() *\+,\/;\-=[\\\]\^_{|}<>\u0400-\u04FF]*$ 

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