正则符合括号及其内容的正则匹配,如果它不是从下划线开始的

  • 本文关键字:如果 开始 下划线 python regex
  • 更新时间 :
  • 英文 :


我有这个正则:

([^(]*?)

与字符串的括号及括号中的内容匹配。我希望它仅在括号之前没有_的情况下匹配。

例如,我希望它在此示例中匹配(文本(:

这是一些随机(文本(

,但我不希望它与此示例中的任何内容匹配:

这是另一个_(text(

我将如何处理?

您可以使用负面lookbehind 为此:

  (?<!_)([^(]*)
# ^ negative lookbehind

如下所示

就像@sebastianproske所说的那样,没有理由使[^(]贪婪:因为它永远不会匹配闭合括号。所以我使它变得贪婪。

添加负面的lookbehind: (?<!_)检查您所说的话( no _" _" (。(。

另一条言论:两个括号之间的内容应为任何序列chars,但除了关闭以外一个。

,整个正则应该是:

(?<!_)([^)]*)

相关内容

最新更新