2017-04-07 79 views
1

我使用詹金斯编辑电子邮件插件,我需要使用正则表达式过滤日志正则表达式排除不包含字线,但有些话

我有这样的正则表达式

regex="(.*)fatal:(.*)" 

基本上匹配符合致命开始:这样我可以抓住错误

示例行这个样子的

fatal: [localhost]: FAILED! => {"attempts": 1, "changed": true, "cmd": "nslookup test1.local", 

但我想抓住所有致命的错误,除了哪个conatin一些类似nslookup的词。

我想忽略它具有NSLOOKUP上面一行和所有其他应确定

+0

试试这个(*)致命:(?! NSLOOKUP)* $ –

回答

2

你可以做一个负先行用正则表达式。这将工作的例子:

^(.*)fatal: ((?!nsookup).)*$ 

要检查两个不同的先行词:(。*)开头

^(.*)fatal: ((?!nslookup)(?!stuff).)*$ 

将只需要如果有可能的东西(空格或其他字符)之前的 “致命的:”

您可以表达玩此链接:https://regex101.com/r/ezxA5s/1

+0

谢谢。 有效 – user3214546