正则表达式排除特定字符不起作用
我搜索并发现[^?]不会包含某个字符,例如本例中的问号,但它似乎包含一个空格,这不是我想要的。这种模式:
\((.*?)\)[^?]
匹配括号中的任何内容,除非最后一个括号后面有一个问号。
(need to capture including brackets) ignore this
(ignore this completely)?
此模式在不包含空格的情况下正确捕获括号中的顶行,但也捕获下面我想忽略的行:
\((.*?)\)
我可以使用什么模式来捕获顶行而没有尾随空格但忽略下面的行?
您可以看到这些模式都不能正常工作:
https://regex101.com/r/fHXJ8x/1
https://regex101.com/r/fHXJ8x/2
回答
试试这个正则表达式...
它有效,忽略括号内的任何文本,它也在问号旁边
也忽略不需要的空格
\((.*?)\)(?!\?)
输出: