Regex 正则表达式:查找不包含特定短语的匹配项
我已经尝试了一些类似问题的答案,但都不适用于我正在尝试的 我试图找到与特定短语匹配的文本(带有通配符),但排除任何包含第二个短语的文本 正确:约翰打哈欠 约翰张大嘴巴打呵欠 基本上,我想匹配(某人)打哈欠。“但不匹配”(某人)张大嘴巴打哈欠。”因此,“张大嘴巴打哈欠”是排除的匹配,但我似乎无法让它起作用Regex 正则表达式:查找不包含特定短语的匹配项,regex,Regex,我已经尝试了一些类似问题的答案,但都不适用于我正在尝试的 我试图找到与特定短语匹配的文本(带有通配符),但排除任何包含第二个短语的文本 正确:约翰打哈欠 约翰张大嘴巴打呵欠 基本上,我想匹配(某人)打哈欠。“但不匹配”(某人)张大嘴巴打哈欠。”因此,“张大嘴巴打哈欠”是排除的匹配,但我似乎无法让它起作用 遗憾的是,我正在使用一个日志解析应用程序,因此我不知道使用的是什么语言。您可能需要一个负回溯,如在(?)中。请注意,这些可能会减慢正则表达式匹配算法的速度,并且并非在任何地方都可用 您确实应该将
遗憾的是,我正在使用一个日志解析应用程序,因此我不知道使用的是什么语言。您可能需要一个负回溯,如在
(?)中。请注意,这些可能会减慢正则表达式匹配算法的速度,并且并非在任何地方都可用
您确实应该将测试用例简化为简单的模式(例如,..*bc而不是abc)这可以通过两个子字符串测试(取决于您使用的语言)轻松解决。在原始帖子中添加了关于该语言的信息。但是,请注意,并非所有方言都支持lookback,尤其是JavaScript(又名ECMA 262)正则表达式不支持它们。@fge:没错。当问正则表达式问题时,最好指定环境。我还没有完全测试它,但我认为这可能导致了一个解决方案。我可以通过使用(?)使它只在正确的短语上正确触发?