我嘗試獲取一個正則運算式,它回傳第一個捕獲組中的匹配項。
我放置正則運算式的應用程式只能使用第一個捕獲組。
每個正則運算式本身都在作業,但我不能以輸出始終在第一個捕獲組中的方式組合這兩個
輸入 1:
Event: Started Flapping
正則運算式 1:
^Event: (\S Flapping)
輸出 1:
Started Flapping
輸入 2:
Event: CRIT -> OK
正則運算式 2:
^Event:\s \S \s \S \s (\S )
輸出 2:
OK
我試過的正則運算式
(?:^Event:\s \S \s \S \s (?P<service>\S )$|^Event: (?P<flap>Started Flapping)|((?P=service)|(?P=flap)))
uj5u.com熱心網友回復:
您可以使用分支重置組:
^Event:\s (?|\S \s \S \s (\S )|(Started Flapping))$
# or, to factor in \S \s :
^Event:\s (?|(?:\S \s ){2}(\S )|(Started Flapping))$
請參閱正則運算式演示。詳情:
^- 字串的開始Event:- 一個固定的字串\s- 一個或多個空格(?|- 分支重置組的開始:\S \s \S \s- 出現兩次一個或多個非空格,后跟一個或多個空格(\S )- 第 1 組:一個或多個非空格
|- 或者(Started Flapping)- 第 1 組:Started Flapping固定字串
)- 分支復位組結束$- 字串的結尾。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/376618.html
