Jenkins文本查找器中的Java正则表达式匹配2行

Jenkins文本查找器中的Java正则表达式匹配2行,java,regex,jenkins,jenkins-plugins,Java,Regex,Jenkins,Jenkins Plugins,我的jenkins控制台输出中有两行代码,我正在尝试使用jenkins文本查找器插件使用java正则表达式 我的控制台输出如下所示: **The total percentage is:70% Student passed the exam** 我尝试的java正则表达式是: The total percentage is:([0-9]\d|\d{3,})%(\n|$)Student passed the exam 我试着用[\s\s]和(.|\n)代替(\n |$),来拾取下一行新代码。但

我的jenkins控制台输出中有两行代码,我正在尝试使用
jenkins文本查找器插件
使用
java正则表达式

我的控制台输出如下所示:

**The total percentage is:70%
Student passed the exam**
我尝试的
java正则表达式是:

The total percentage is:([0-9]\d|\d{3,})%(\n|$)Student passed the exam
我试着用
[\s\s]
(.|\n)
代替
(\n |$)
,来拾取下一行新代码。但一切都不起作用。 有人能帮我吗

编辑: 当找到其中一行或同时找到两行时,生成应该不稳定。A | B | AB的含义

/The total percentage is:([0-9]\d|\d{3,})%\W+Student passed the exam/igm
T.*?:(\d+)%\s+.*?m
i
:用于忽略案例

g
:全局匹配


m
:对于多行匹配

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

^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
此处演示:

试试这个:

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

演示:

请包含完整的相关代码。包括应该匹配的字符串和不应该匹配的字符串。@TimBiegeleisen没有代码。我在控制台输出中得到上面的语句(粗体),我想使用
Jenkins Text Finder插件
不稳定的构建
捕获它们。尽管我尝试的正则表达式正在一些网站上测试
Java正则表达式
,他们没有在Jenkins的
中工作,请用以下内容更新您的问题:2-3行样本输入,显示您可能拥有的数据范围,还有您正试图从这些数据中提取的内容。@MYGz我得到控制台输出为
,总百分比为:70%
学生通过考试
,分两行,当找到其中一行或两行时,我的构建应该不稳定
\s
包括
\r
\n
,所以
\s+
就足够了。@Toto谢谢。只是包括了所有内容,因为我不确定windows上是否有任何不同:)首先我这样做了,检查
url/1