我有这样的正则表达式:${BUILD_LOG_REGEX,regex="(?=.*?Environment)(?=.*?Total).*$"}
此REGEX的输出如下:
[...truncated 14 lines...] [java] Environment: XYZ Total(Pass:1 Fail:0 Incomplete:0 Delayed:0 Manual Verification:0) [...truncated 14 lines...]
我想修改这个正则表达式,所以我只能看到这些值作为输出:
Environment: XYZ Total(Pass:1 Fail:0 Incomplete:0 Delayed:0 Manual Verification:0)
有人可以帮助从日志文件中找到此LINE的正确REGEX吗?
答案 0 :(得分:2)
答案 1 :(得分:0)
编辑: 此答案指定java解决方案,因为该问题最初被标记为Java问题。此标记已被删除。
如果您只想删除方括号内的任何文本,只需简单调用下面的代码即可生成您要查找的结果。
String source = "[...truncated 14 lines...] [java] Environment: XYZ Total(Pass:1 Fail:0 Incomplete:0 Delayed:0 Manual Verification:0) [...truncated 14 lines...]";
String extract = source.replaceAll("\\[.*?\\]", "").trim();
extract
持有值的结果:
"Environment: XYZ Total(Pass:1 Fail:0 Incomplete:0 Delayed:0 Manual Verification:0)"
上面的java代码将用空字符串替换方括号内的所有字符串(基本上删除它们),然后从结果中修剪任何不必要的空格。
正则表达式:
\[.*?\]
,.*
及其周围的方括号,是懒惰(非贪婪)匹配。