我有这个正则表达式:
\([^\(]*?\)
匹配字符串的括号和括号内的内容。我希望仅在括号前没有_时匹配。
例如,在此示例中,我希望它与(文本)匹配:
这是一些随机的(文本)
但在此示例中,我不希望它与任何内容匹配:
这是another_(text)
我将如何处理?
最佳答案
您可以为此使用负向后看:
(?<!_)\([^\(]*\)
# ^ negative lookbehind
如该regex101所示
就像@SebastianProske所说,没有理由使
[^\(]
贪婪:因为它永远不会匹配右括号。所以我让它变得贪婪。关于python - 正则表达式,如果不以下划线开头,则匹配括号及其内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44738651/