Jenkins控制台输出解析:正则表达式匹配失败问题求助
解决Jenkins控制台输出正则匹配问题
问题分析
你需要匹配的控制台输出片段:
FAILED! => {"changed": true, "cmd": "setup.exe -f properties_2021.1.1"}
原有正则/"cmd": "setup\.exe \-f properties\_/无法匹配的原因:
-在正则中不属于需要转义的元字符,多余的\会导致匹配失败- 下划线
_同样不是正则元字符,无需转义 - 若需要匹配完整的
cmd值(包含版本号部分),原有正则缺少后续内容的匹配规则
正确的正则表达式
根据需求选择对应的正则:
1. 仅匹配cmd值的前缀部分(忽略版本号)
如果只要确认存在"cmd": "setup.exe -f properties_这段内容,使用:
"cmd": "setup\.exe -f properties_
2. 匹配完整的cmd键值对(包含版本号直到闭合引号)
如果需要匹配完整的cmd值(从setup.exe开始到后面的闭合双引号),使用:
"cmd": "setup\.exe -f properties_[^"]*"
[^"]*表示匹配任意非双引号的字符,直到遇到下一个双引号,刚好覆盖版本号部分
注意事项
在Jenkins的正则配置框中,不需要添加前后的/分隔符,直接填入上述正则内容即可。
内容的提问来源于stack exchange,提问作者NagalaeVik
相关产品推荐
相关产品推荐

