【问题标题】:Match Lone Set of Empty (or space-filled) Parentheses匹配一组空(或空格)括号
【发布时间】:2014-09-19 03:27:11
【问题描述】:

虽然这可能是一个微不足道的问题,但到目前为止,我很困惑如何解决这个问题,所以提前感谢您的帮助!

我想匹配给定字符串中不包含任何参数的一组括号。除非括号集以字符开头。这些是我的场景。

有效场景:

  • “()”
  • “( )”
  • "()"
  • "()"
  • " ( ) "
  • "abc()"

无效场景:

  • “abc()”

到目前为止我的正则表达式是

\s*\(\s*\)\s*

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

【问题讨论】:

标签: c# regex regex-negation


【解决方案1】:

使用这个:

(?<!\S)\(\s*\)

查看 the regex demo 中的匹配项和失败项。

说明

  • 否定的lookbehind断言前面的不是非空白字符
  • \(\s*\) 将括号与可选空格匹配

参考

【讨论】:

    【解决方案2】:

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

    (?<=^|\s)\(\s*\)
    

    谢谢!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2016-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-26
      相关资源
      最近更新 更多