我正在使用 jenkins 可编辑电子邮件插件,我需要使用正则表达式来过滤日志
我有这个正则表达式
regex="(.*)fatal:(.*)"
基本上匹配以 fatal: 开头的行,以便我可以捕获错误
示例行如下所示
fatal: [localhost]: FAILED! => {"attempts": 1, "changed": true, "cmd": "nslookup test1.local",
但我想捕获所有 fatal error ,除了包含一些像 nslookup 这样的单词。
我想忽略上面有 nslookup 的行,所有其他应该没问题
最佳答案
您可以使用正则表达式进行负向预测。这适用于您的示例:
^(.*)fatal: ((?!nsookup).)*$
要检查两个不同的先行单词:
^(.*)fatal: ((?!nslookup)(?!stuff).)*$
仅当“fatal:”之前可以有某些内容(空格或其他字符)时,才需要开头的 (.*)
您可以通过此链接使用表达式:https://regex101.com/r/ezxA5s/1
关于java - 正则表达式排除不包含单词但包含某些单词的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43268531/