2009-11-11 164 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]*$ 

它匹配特殊字符,西裏爾字母,英文字母。