在C#代碼中,我試圖傳遞中文字符:" 中文ABC123"
。C語言正則表達式中的外文字符#
當我使用一般的字母數字使用"^[a-zA-Z0-9\s]+$"
,
它不通過對"中文ABC123"
和正則表達式驗證失敗。
我需要爲C#添加哪些其他表達式?
在C#代碼中,我試圖傳遞中文字符:" 中文ABC123"
。C語言正則表達式中的外文字符#
當我使用一般的字母數字使用"^[a-zA-Z0-9\s]+$"
,
它不通過對"中文ABC123"
和正則表達式驗證失敗。
我需要爲C#添加哪些其他表達式?
從任何語言使用匹配任何字母字符:
\p{L}
如果你也想匹配的數字:
[\p{L}\p{Nd}]+
\p{L}
...匹配的Unicode類別字母的字符。
它是短形式[\ p {的L1} \ p {路} \ p {LT} \ p {Lm的} \ p {螺} ]
\p{Ll}
...匹配小寫字母。 (ABC)
\p{Lu}
...匹配大寫字母。 (ABC)
\p{Lt}
...匹配的首字母大寫字母。
\p{Lm}
...匹配修飾符字母。
\p{Lo}
...匹配的字母不區分。 (中文)
\p{Nd}
...匹配unicode類別十進制數字的一個字符。
只需更換:^[a-zA-Z0-9\s]+$
與^[\p{L}0-9\s]+$
或者,如果標點符號是OK,簡單的'\ w'([字字符(https://msdn.microsoft.com/en-us/library/20bw873z .aspx#WordCharacter))可以用來代替'[\ p {L} 0-9]'。 – bzlm 2015-01-26 19:33:20
非常感謝Andie2302。它效果很好。 – user2683269 2015-01-26 19:43:29
順便說一句Andie2302,這個與html5模式存在巨大沖突,我得到了這個用於HTML5模式屬性的錯誤,並且未能通過驗證。你有沒有想法爲所有語言使用HTML5模式attirbute? – user2683269 2015-01-26 20:57:35