我想只允許英文字母和德國字母輸入的數據。如何使用正則表達式匹配國際字母(英語a-z,+非英語)?
像öäü
和法國一樣áê
或中國人喜歡......
我如何配置我的正則表達式因此它接受來自國際字母表中的所有字母字符?
我想只允許英文字母和德國字母輸入的數據。如何使用正則表達式匹配國際字母(英語a-z,+非英語)?
像öäü
和法國一樣áê
或中國人喜歡......
我如何配置我的正則表達式因此它接受來自國際字母表中的所有字母字符?
它有所不同。一些語言具有「Unicode」標誌,其延伸\d
,\w
等。一些支持範圍內的等價類,例如, [[=e=]]
匹配e
,é
,ê
等。語言或庫的正則表達式文檔將解釋可用的選項。
由於您特別要求Unicode,因此\p{L}
是Unicode字母的快捷方式。不過,並非所有的正則表達式都支持這種語法。例如,.NET,Perl,Java和JGSoft正則表達式引擎,Python不會。
因此,例如\b\p{L}+\b
將匹配Unicode字符的整個單詞。
這將是_great_,如果它在JavaScript的替代正則表達式中工作,但它似乎並不適用於我(至少在Chrome中)。有任何想法嗎? – aaaidan 2012-06-20 23:50:06
@aaaidan:由於JavaScript內置的正則表達式引擎非常有限,並且不提供類似'\ p {L}'的抽象。您可以始終從所有Unicode字母代碼點(恐怖!)創建自己的字符類,或者使用帶有Unicode插件的Steve Levithan的XRegExp庫:http://blog.stevenlevithan.com/archives/xregexp-unicode-plugin – 2012-06-21 06:24:07
非常好。乾杯! – aaaidan 2012-06-22 07:28:31
在許多語言中,你可以簡單地輸入Unicode的符號轉換成字符類:[a-zäöüß]
等
當他想匹配所有**字母時,這並沒有什麼幫助。 – 2010-03-06 14:42:10
你用什麼語言或正則表達式執行? – Gumbo 2010-03-06 10:48:41
中文「字母」不是'......'! – kennytm 2010-03-06 10:49:55