正则表达式排除字符串,除非存在另一个字符串
regex to exclude string unless another string exists
我目前正在研究一个流畅的正则表达式来匹配所有日志条目,除非消息包含字符串 "dbug"。但是,如果日志在条目中同时包含 "dbug" 和 "firing",那么我需要正则表达式来匹配该字符串。
这两个字符串可以出现在日志条目中的任何位置,但是 "dbug" 将始终在 "firing".
之前
是否可以构建一个可以执行此操作的正则表达式?
如有任何帮助,我将不胜感激!
我们可以在这里尝试使用前瞻,例如
^(?:(?!.*\bdbug\b)|(?=.*\bdbug\b.*\bfiring\b)).*$
第一个先行 (?!.*\bdbug\b)
匹配任何根本不包含 dbug
的行,第二个先行 (?=.*\bdbug\b.*\bfiring\b)
匹配包含 dbug
和 firing
,按照这个顺序。
我目前正在研究一个流畅的正则表达式来匹配所有日志条目,除非消息包含字符串 "dbug"。但是,如果日志在条目中同时包含 "dbug" 和 "firing",那么我需要正则表达式来匹配该字符串。
这两个字符串可以出现在日志条目中的任何位置,但是 "dbug" 将始终在 "firing".
之前是否可以构建一个可以执行此操作的正则表达式?
如有任何帮助,我将不胜感激!
我们可以在这里尝试使用前瞻,例如
^(?:(?!.*\bdbug\b)|(?=.*\bdbug\b.*\bfiring\b)).*$
第一个先行 (?!.*\bdbug\b)
匹配任何根本不包含 dbug
的行,第二个先行 (?=.*\bdbug\b.*\bfiring\b)
匹配包含 dbug
和 firing
,按照这个顺序。