C# 匹配一组空(或空格填充)括号

C# 匹配一组空(或空格填充)括号,c#,regex,regex-negation,C#,Regex,Regex Negation,虽然这可能是一个微不足道的问题,但到目前为止,我对如何解决这个问题感到非常紧张,因此提前感谢您的帮助 我想在给定字符串中不包含任何参数的一组括号上进行匹配。除非括号集以字符开头。这是我的设想 有效场景: “()” “()” “()” “()” “()” “abc()” 无效场景: “abc()” 到目前为止,我的正则表达式是 \s*\(\s*\)\s* 这会得到所有实例,显然也会得到abc()。 有人知道我错过了什么吗?@zerkms以积极的态度为我解决了这个问题 (?<=^|\

虽然这可能是一个微不足道的问题,但到目前为止,我对如何解决这个问题感到非常紧张,因此提前感谢您的帮助

我想在给定字符串中不包含任何参数的一组括号上进行匹配。除非括号集以字符开头。这是我的设想

有效场景:

  • “()”
  • “()”
  • “()”
  • “()”
  • “()”
  • “abc()”
无效场景:

  • “abc()”
到目前为止,我的正则表达式是

\s*\(\s*\)\s*
这会得到所有实例,显然也会得到abc()。
有人知道我错过了什么吗?

@zerkms以积极的态度为我解决了这个问题

(?<=^|\s)\(\s*\)
(?使用此选项:

(?<!\S)\(\s*\)
(?
查看中的匹配项和失败项

解释

  • 反向查找断言前面的不是非空白字符
  • \(\s*\)
    将括号与可选空格匹配
参考


?啊,看看后面!感谢@zerkms提供的链接,这正是我要找的。