Jenkins Text Finder中的Java正则表达式匹配2行

时间:2017-01-16 05:08:58

标签: java regex jenkins jenkins-plugins

我的jenkins控制台输出中有2行,我正在尝试使用Jenkins Text Finder plugin使用java regex捕获它们 我的控制台输出看起来像这样:

**The total percentage is:70%
Student passed the exam**

我尝试的java regex是:

The total percentage is:([0-9]\d|\d{3,})%(\n|$)Student passed the exam

(\n|$)取代下一个新行的地方,我尝试了[\s\S](.|\n)。但没有任何工作。 有人可以帮我这个。

编辑: 当找到其中任何一个或找到两条线时,构建应该是不稳定的。 A|B|AB

的含义

3 个答案:

答案 0 :(得分:1)

我认为你可以使用以下正则表达式:

^The total percentage is:[0-9]{1,2}(\.[0-9]{1,})?%|Student passed the exam$

由于 句子的存在表示控制台输出中的匹配,因此您无需检查两者。因此,这里可以使用带有替换的正则表达式。

以下是与百分比匹配的模式的说明:

[0-9]{1,2}     one or two leading digits
(
    \.         followed by an (optional) decimal point
    [0-9]{1,}  followed by one or more digits after that (again optional)
)?
%              followed by a percent sign

在这里演示:

Regex101

答案 1 :(得分:0)

试试这个:

/The total percentage is:([0-9]\d|\d{3,})%\W+Student passed the exam/igm

i:忽略案例

g:全球匹配

m:用于多行匹配

答案 2 :(得分:0)

试试这个:

T.*?:(\d+)%\s+.*?m

演示:https://regex101.com/r/1jtHP4/1