我试图找出一个()模式出现在字符串中的次数;这是代码:
int pMatches = (Regex.Matches("(", newDrug).Count + Regex.Matches(")", newDrug).Count)/2;
我收到以下错误:
Quantifier {x,y} following nothing
为什么呢?提前谢谢。
答案 0 :(得分:1)
你有两个问题。
首先,您以相反的顺序拥有Regex.Matches()
的参数。这会导致输入字符串被视为模式,"("
将被视为与其匹配的文本。 (看来您的输入可能以{
字符开头,这使其成为无效的正则表达式,因此出现错误消息。)
Regex.Matches(newDrug, "(");
第二个是(
是一个特殊的正则表达式字符,需要进行转义:
Regex.Matches(newDrug, Regex.Escape("("))