我正在使用jenkins可编辑的电子邮件插件,我需要使用正则表达式来过滤日志
我有这个正则表达式
regex="(.*)fatal:(.*)"
基本上匹配行开头与致命:这样我就可以抓错误
示例行看起来像这样
fatal: [localhost]: FAILED! => {"attempts": 1, "changed": true, "cmd": "nslookup test1.local",
但是我想要抓住所有致命的错误,除了像nslookup这样的词语。
我想忽略上面有nslookup的行,其他所有行都应该没问题
答案 0 :(得分:2)
你可以用正则表达式做一个负向的展望。这适用于您的示例:
^(.*)fatal: ((?!nsookup).)*$
检查两个不同的前瞻性词语:
^(.*)fatal: ((?!nslookup)(?!stuff).)*$
只有在“致命:”之前可能存在某些内容(空格或其他字符)时才需要开头的(。*)
您可以使用此链接播放表达式:https://regex101.com/r/ezxA5s/1