【发布时间】:2012-02-04 11:05:49
【问题描述】:
Mono 的 Regex 实现有一个错误,这意味着它不能正确处理 regex 字符类减法。
IE:“[ab-[a]]”实际上应该是字符集“[b]”。
例如,.NET 上的以下代码将输出“The\ncat\nsat\non\nthe\nmat”。
此示例包含我尝试在单声道上使用的简化正则表达式。
string listOfUnicodeChars = "\u2e80";
string patten =
"[\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lo}\\p{Mn}\\p{Mc}\\p{Lm}-[" + listofUnicodeChars +"]]+";
Regex regex = new Regex(pattern);
foreach (var match in regex.Matches("The cat sat on the mat."))
Console.WriteLine(match);
但使用单声道,正则表达式不匹配。
是否有人对如何使用不同方式编写的正则表达式获得相同的效果有任何建议?
【问题讨论】:
-
您的模式中是否缺少括号?