正则表达式排除特定字符不起作用

我搜索并发现[^?]不会包含某个字符,例如本例中的问号,但它似乎包含一个空格,这不是我想要的。这种模式:

\((.*?)\)[^?]

匹配括号中的任何内容,除非最后一个括号后面有一个问号。

(need to capture including brackets) ignore this
(ignore this completely)?

此模式在不包含空格的情况下正确捕获括号中的顶行,但也捕获下面我想忽略的行:

\((.*?)\)

我可以使用什么模式来捕获顶行而没有尾随空格但忽略下面的行?

您可以看到这些模式都不能正常工作:

https://regex101.com/r/fHXJ8x/1

https://regex101.com/r/fHXJ8x/2

回答

试试这个正则表达式...

它有效,忽略括号内的任何文本,它也在问号旁边

也忽略不需要的空格

\((.*?)\)(?!\?)

输出:


以上是正则表达式排除特定字符不起作用的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>