使用Regex.Matches时出现奇怪错误
本文关键字:错误 Regex Matches 使用 | 更新日期: 2023-09-27 18:25:13
我试图找出()模式在字符串中出现的次数;这是代码:
int pMatches = (Regex.Matches("(", newDrug).Count + Regex.Matches(")", newDrug).Count)/2;
我得到以下错误:
Quantifier {x,y} following nothing
为什么?提前谢谢。
您有两个问题。
第一个是Regex.Matches()
的参数按相反的顺序排列。这导致输入字符串被视为模式,"("
被视为与其匹配的文本。(您的输入可能以{
字符开头,这使其成为无效的正则表达式,因此出现错误消息。)
Regex.Matches(newDrug, "(");
第二个原因是(
是一个特殊的正则表达式字符,需要转义:
Regex.Matches(newDrug, Regex.Escape("("))