0

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

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

正确:约翰打哈欠。

不正确:约翰张大嘴打哈欠。

本质上,我想匹配“(某人)打哈欠”。但不是关闭“(某人)张大嘴巴并打哈欠。” 所以“张大嘴巴”是排斥的匹配,但我似乎无法让它发挥作用。

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

4

1 回答 1

2

You probably want a negative lookbehind, as in (?<!opens his mouth wide and )yawns. Beware that these can slow down the regex matching algorithm, and are not available everywhere.

You really should reduce your test-case to simple patterns (e.g. .*bc but not abc)

于 2013-01-13T11:54:00.263 回答