正则表达式匹配不在模式中结束的字符串

时间:2012-09-14 02:01:14

标签: regex sed

我希望匹配不以/\(.*\) */结尾的字符串。我尝试了^[^\(].*[^\)] *$(以及(?!something)的一些内容,但我没有运气),但它匹配“()”等等。

更多示例:http://rubular.com/r/zdxxW6IWUf

4 个答案:

答案 0 :(得分:0)

你的意思是你想要任何类型的单词没有像括号那样用括号完成?

喜欢在:

func() gerg erg airg aergaerga() gaergjaij f() g arg gre()

如果是,请尝试\<\w+(?!\(\))\>

编辑: Rubular似乎不支持字边界,因此您可以尝试\b\w+(?!\(\))\b。点击查看示例Here

否则,您能否详细解释一下您的意思?

答案 1 :(得分:0)

请使用:

/^[^(]*[^)] *$/

The demo.

答案 2 :(得分:0)

这样就够了吗?

/[^)]$/

或者,如果有必要忽略尾随空格:

/[^}]\w*$/

如果您的RE工具不支持\w,只需将其更改为[ \t]

即可

答案 3 :(得分:-1)

顺便说一下,有关正则表达式的快速指南,请查看此网站:Regular Expressions Cheat Sheet by DaveChild。您需要了解有关正则表达式的所有信息。