正则表达式匹配不跟随某个字符的单个字符

5
我有一个正则表达式,基本符合我的需求。我相信这是一种重复的情况,但我找不到我要找的答案。
我需要的正则表达式是一个可以匹配没有后续空格的括号的表达式,但我只想匹配括号本身。
(\([^\s])

这将匹配所有不后跟空格的括号,但它也会匹配紧接在括号后面的字符。如何只匹配括号本身?


只需在正则表达式之前加上括号,就像这样(\()[^\s] - Darka
括号是否会成为字符串/行的最后一个字符?我问这个问题是因为“不跟随空格”和“跟随非空格字符”并不相同。正向预查,如(?=\S)必须匹配\S字符,而负向预查,如(?!\s)也将匹配任何字符的缺失。 - Wiseguy
我正在尝试通过在所有开括号和内容之间加入空格来清理一些PHP代码,但如果括号后面已经有空格,我就不想再添加另一个空格。 - Richard Christensen
1个回答

3
使用零宽断言向前查看来匹配文本。这在IT技术中很常见。请参考这里
\((?=\S)

或者

\((?=[^\s])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接