2017-01-16 60 views
1

我有2條線在我的詹金斯控制檯輸出,我試圖通過使用Jenkins Text Finder pluginjava regex 我的控制檯輸出看起來像這樣捕捉它們:Java的正則表達式在詹金斯文字搜索匹配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)。但沒有任何工作。 有人可以幫助我。

編輯:當其中一方或發現時,發現兩行 構建應該是不穩定的。意爲A|B|AB

+1

請包括完整的相關代碼。 –

+0

包含應匹配的字符串和不應匹配的字符串。 – MYGz

+0

@TimBiegeleisen沒有代碼。我得到上面的語句(在** **加粗)在控制檯輸出和我想用'詹金斯文字搜索plugin'和'不穩定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 

演示在這裏:

Regex101

0

試試這個:

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

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

+0

'\ s'包含'\ r'和'\ n',所以'\ s +'就足夠了。 – Toto

+0

@Toto謝謝。只是包括了一切,因爲我不確定在Windows上有什麼不同:)起初,我這樣做,檢查'url/1' – MYGz