【发布时间】:2018-10-17 04:42:15
【问题描述】:
我正在尝试计算字符串中有多少个 * 符号。但是我得到一个错误。
System.dll 中出现“System.ArgumentException”类型的未处理异常
我只是使用正则表达式匹配来检查它。当我用任何其他字符串进行测试时,它工作得很好,但是当我搜索“*”时,它得到了一个例外。
这是给出表达式的代码
string abc = "i am just trying *** for a sample code";
var count = Regex.Matches(abc, "*").Count;
Console.Out.WriteLine(count);
这个效果很好
string abc = "i am just trying for a sample code";
var count = Regex.Matches(abc, "a").Count;
Console.Out.WriteLine(count);
知道为什么吗?
【问题讨论】:
-
错误信息会很有帮助。
-
“知道为什么” - 是的,
*字符是所谓的quantifier,因此必须对其进行转义。 -
您确实应该在问题中引用异常的全部详细信息。在这种情况下,我假设异常消息类似于:
parsing "*" - Quantifier {x,y} following nothing. -
这是一个重复的问题,但无论如何都有答案。