2017-01-16 8 views
1

у меня есть 2 строки в моей Дженкинс консоли вывода, и я пытаюсь захватить их с помощью Jenkins Text Finder plugin с помощью java regex Мой вывод консоли выглядит примерно так:Java регулярное выражение в Дженкинс Text Finder, чтобы соответствовать 2 линии

**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). Но ничего не работает. Может кто-нибудь мне помочь.

EDIT: Сборка должна быть нестабильной, если обнаружено либо одно из них, либо когда обе линии были найдены. Значение для A|B|AB

+1

Пожалуйста, укажите полный код. –

+0

Включить строки, которые должны совпадать, и строки, которые не должны совпадать. – MYGz

+0

@TimBiegeleisen Нет кода. Я получаю инструкции выше (в ** bold **) на выходе консоли, и я хочу их захватить с помощью 'Jenkins Text Finder plugin' и' unstable the build'. Даже если регулярное выражение, которое я пытался, работает на некоторых веб-сайтах для тестирования 'Java regex', они не работают в' Jenkins' – user6348718

ответ

0

Попробуйте это:

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

i: за игнорирование дела

g: соответствия глобально

m: для многострочного сопоставления

+0

Спасибо за ответ, но это не сработало – user6348718

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 

Demo здесь:

Regex101

0

Попробуйте это:

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

Demo: https://regex101.com/r/1jtHP4/1

+0

'\ s' включает' \ r' и '\ n', поэтому' \ s + 'было бы достаточно. – Toto

+0

@Toto Спасибо. Просто включил все, потому что я не был уверен, что что-то другое в Windows :) Сначала я сделал это, проверьте 'url/1' – MYGz