使用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()的参数按相反的顺序排列。这导致输入字符串被视为模式,"("被视为与其匹配的文本。(您的输入可能以{字符开头,这使其成为无效的正则表达式,因此出现错误消息。)

Regex.Matches(newDrug, "(");

第二个原因是(是一个特殊的正则表达式字符,需要转义:

Regex.Matches(newDrug, Regex.Escape("("))