C#中正则表达式中的外语字符
在C#代码中,我试图传递中文字符: " 中文ABC123"
。
当我使用"^[a-zA-Z0-9\s]+$"
时使用字母数字时,
它没有通过"中文ABC123"
,正则表达式validation失败。
我需要为C#添加哪些其他表达式?
要匹配任何语言的任何字母,请使用:
\p{L}
如果您还想匹配数字:
[\p{L}\p{Nd}]+
\p{L}
…匹配unicode类别字母的字符。
它是[\ p {Ll} \ p {Lu} \ p {Lt} \ p {Lm} \ p {Lo}]的缩写forms
\p{Ll}
…匹配小写字母。 (ABC)
\p{Lu}
…匹配大写字母。 (ABC)
\p{Lt}
…匹配标题字母。
\p{Lm}
…匹配修饰符。
\p{Lo}
…匹配没有大小写的字母。 (中文)
\p{Nd}
…匹配unicode类别十进制数字的字符。
只需替换: ^[a-zA-Z0-9\s]+$
with ^[\p{L}0-9\s]+$