Groovy 中的多行正则表达式不匹配
Multi-line Regular Expression in Groovy not matching
我正在努力构建 Groovy 中的多行匹配正则表达式。
给出以下日志:
12:42:44,914 ma# ERROR [a.o.k.b.p.A] ********************* Es folgen aggregierte Fehler *********************
12:42:44,915 ma# ERROR [a.o.k.b.p.A] at.java.lang.NullPointerException
at a.o.k.b.s.AbstractSvc.buildFinalException(AbstractSvc.java:236)
(in 2 Items, z.B. 1114/00347, 1114/00537)
12:42:44,916 ma# ERROR [a.o.k.b.p.A] HTTP 400
(in 2 Items, z.B. 1128/01634, 1128/02616)
12:42:44,916 ma# ERROR [a.o.k.b.p.A] >>>>> 50 Polizzen polizziert, davon 4 Polizzen fehlerhaft mit 2 verschiedenen Fehler!
理想情况下,我想提取第一行和最后一行之间的所有行。
我正在尝试通过
访问 Jenkins 日志
def logMatcher = manager.getLogMatcher('(?s).*aggregierte(.*)Polizzen polizziert.*')
if (logMatcher?.matches()) {
def result = logMatcher.group(1)
manager.addWarningBadge(result)
}
我希望它能给我一个粗略的匹配(包括第一行和最后一行的部分内容),但它不会 运行 在 if 块中。
我在这里做错了什么?我在 regex101.com 上的测试表明这应该有效。在 Jenkins 上,只有在一行内才会匹配,例如正则表达式 ".Es (.) agregierte Fehler.*"
问题是 Jenkin 的 goovy-postbuild-plugin 限制为单行,正如 daggett 对我的问题的评论。
我正在努力构建 Groovy 中的多行匹配正则表达式。
给出以下日志:
12:42:44,914 ma# ERROR [a.o.k.b.p.A] ********************* Es folgen aggregierte Fehler *********************
12:42:44,915 ma# ERROR [a.o.k.b.p.A] at.java.lang.NullPointerException
at a.o.k.b.s.AbstractSvc.buildFinalException(AbstractSvc.java:236)
(in 2 Items, z.B. 1114/00347, 1114/00537)
12:42:44,916 ma# ERROR [a.o.k.b.p.A] HTTP 400
(in 2 Items, z.B. 1128/01634, 1128/02616)
12:42:44,916 ma# ERROR [a.o.k.b.p.A] >>>>> 50 Polizzen polizziert, davon 4 Polizzen fehlerhaft mit 2 verschiedenen Fehler!
理想情况下,我想提取第一行和最后一行之间的所有行。
我正在尝试通过
访问 Jenkins 日志 def logMatcher = manager.getLogMatcher('(?s).*aggregierte(.*)Polizzen polizziert.*')
if (logMatcher?.matches()) {
def result = logMatcher.group(1)
manager.addWarningBadge(result)
}
我希望它能给我一个粗略的匹配(包括第一行和最后一行的部分内容),但它不会 运行 在 if 块中。
我在这里做错了什么?我在 regex101.com 上的测试表明这应该有效。在 Jenkins 上,只有在一行内才会匹配,例如正则表达式 ".Es (.) agregierte Fehler.*"
问题是 Jenkin 的 goovy-postbuild-plugin 限制为单行,正如 daggett 对我的问题的评论。