我使用Jenkins日志分析器插件作为构建后步骤来检查生成后的错误。
我的所有规则都在一个文件中,该表示法支持Java regex嵌入标志表达式:
# list keywords or regex for ERRORS:
error /(?i)error/
error / (?i)error/
error /(?i)error /
error / (?i)error /
error /(?i)error:/
error / (?i)error:/
error /(?i)error: /
error / (?i)error: /
error /Unknown database/
error /Connect failed/
error /(?i)undefined/
error /Call Stack:/
# list keywords or regex for WARNINGS:
warning /(?i)^warning/
warning /(?i)warning/
warning /(?i)warning:/我的问题是,我不太擅长正则表达式,每次遇到包含“错误”的单词时,都会触发警报。例如: T**error**或Biot**error*(我知道它可能来自于我的坏表达式,但如果我将“生物恐怖”或“恐怖”标记为警告,它仍然会将它们改写为错误并触发警报)。
我的问题是:
发布于 2014-09-11 14:54:30
您想要的是一个单词边界锚,它是\b在大多数regex风格。它是零宽度,所以它不匹配任何字符,只是从非文字到文字字符的切换。
这样你的对手就会变成:
error /(?i)\berror\b/
这个regex处理的所有案例看起来都是单独处理的:空格、前后空格、后冒号等等。
https://stackoverflow.com/questions/25790448
复制相似问题