以下代码段打印False:
Console.WriteLine(Regex.IsMatch("abc", @"[[:alpha:]]"));
Run Code Online (Sandbox Code Playgroud)
但这打印True:
Console.WriteLine(Regex.IsMatch("abc", @"[a-zA-Z]"));
Run Code Online (Sandbox Code Playgroud)
为什么?它们不应该是等价的吗?
.NET正则表达式不支持Posix字符类.但它们确实支持Unicode组.
这可行:
Regex.IsMatch("abc", @"^\p{L}+$");
该\p{L}组匹配所有Unicode字母.
浏览此处获取更多信息:
http://msdn.microsoft.com/en-us/library/20bw873z.aspx#CategoryOrBlock
| 归档时间: |
|
| 查看次数: |
926 次 |
| 最近记录: |