RegEx:查找不包含特定短语的匹配项

时间:2013-01-13 11:42:05

标签: regex

我已经尝试了类似问题的一些答案,但没有一个能够解决我想要做的事情。

我正在尝试查找与特定短语匹配的文本(使用通配符),但不包括任何包含第二个短语的内容。

  

正确: John打哈欠。

     

不正确: John张大嘴巴打了个哈欠。

基本上,我想匹配“(某人)打哈欠”。但没有关闭“(某人)张开嘴巴打哈欠。”因此,“张开嘴巴”是排除的匹配,但我似乎无法让它发挥作用。

可悲的是,我正在使用日志解析应用程序,所以我不知道正在使用什么语言。

1 个答案:

答案 0 :(得分:2)

你可能想要一个负面的后视,如(?<!opens his mouth wide and )yawns。请注意,这些可能会降低正则表达式匹配算法的速度,并且无法在任何地方使用。

你真的应该将你的测试用例简化为简单模式(例如。* bc但不是abc)