Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 除非存在另一个字符串,否则正则表达式将排除该字符串_Regex_Fluentd - Fatal编程技术网

Regex 除非存在另一个字符串,否则正则表达式将排除该字符串

Regex 除非存在另一个字符串,否则正则表达式将排除该字符串,regex,fluentd,Regex,Fluentd,我目前正在使用fluentd regex表达式来匹配所有日志条目,除非消息包含字符串“dbug”。但是,如果日志包含条目中的“dbug”和“firing”,那么我需要正则表达式来匹配该字符串 这两个字符串可以出现在日志条目中的任何位置,但是“dbug”总是在“firing”之前 是否可以构建一个可以实现这一点的正则表达式 我非常感谢你在这方面的帮助 我们可以在这里尝试使用lookaheads,例如 ^(?:(?!.*\bdbug\b)|(?=.*\bdbug\b.*\bfiring\b)).*$

我目前正在使用fluentd regex表达式来匹配所有日志条目,除非消息包含字符串“dbug”。但是,如果日志包含条目中的“dbug”和“firing”,那么我需要正则表达式来匹配该字符串

这两个字符串可以出现在日志条目中的任何位置,但是“dbug”总是在“firing”之前

是否可以构建一个可以实现这一点的正则表达式


我非常感谢你在这方面的帮助

我们可以在这里尝试使用lookaheads,例如

^(?:(?!.*\bdbug\b)|(?=.*\bdbug\b.*\bfiring\b)).*$

第一个lookahead
(?!.*\bdbug\b)
匹配任何不包含
dbug
的行,第二个lookahead
(?=.*\bdbug\b.*\bfiring\b)
匹配任何包含
dbug
firing
的行,顺序相同