很多时候已经讨论过类似的主题,但到目前为止,我没有找到合适的语法,如果可能的话,也符合我的需要。
我希望根据日志文件中的特定子字符串发出警报,但是当同一行中存在另一个子字符串(忽略)时,避免发出警报。
当两个字符串在其之前,之间和之后与其他字符串一起出现时,子字符串在该行上的顺序始终相同:
bla bla bla StringToIgnore bla bla bla StringToLookfor bla bla bla
总结一下,使用逻辑语法,我想做: StringToLookFor AND(NOT StringToIgnore)
我必须使用这个独特的正则表达式。通过生成日志的工具上的字段输入正则表达式。没有其他组合,逻辑,代码或脚本是可能的。
答案 0 :(得分:1)
我认为这可以满足您的需求:
^(?=.*StringToLookFor)(?!.*StringToIgnore).*
使用多行修饰符m
。
最后的.*
位只是为了让匹配更容易看到,实际上并不需要。