2017-04-07 82 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