我有一個像下面爪哇 - 所有子對於給定的正則表達式
API:ADD|TYPE:ABC...MATCH:TRUE
[LOTS OF OTHER LOG LINES]
API:ADD|TYPE:ABC...MATCH:TRUE
[LOTS OF OTHER LOG LINES]
API:ADD|TYPE:DEF...MATCH:TRUE
模式我試過以下的正則表達式:
(API:.*MATCH:(TRUE|FALSE))
while (matcher.find()) {
System.out.println(i + " occurence");
i++;
matches.add(matcher.group());
}
它從第一個「API」持續「TRUE匹配「因此只有一個子字符串被返回!我想要三個子字符串(在這種情況下)從「API」開始,直到「TRUE」或「FALSE」。
感謝您在這方面的幫助。謝謝。
編輯:
-------------------------------------------------------
20:31:57 CALL add 35
-------------------------------------------------------
20:31:57 REASON API:ADD|TYPE:ABC|ErrorType:VALIDATION|Error Message:User already has|MATCH:FALSE
你需要知道你要多少組,正則表達式來捕捉。你預計你會有一個固定的號碼嗎? –
你是如何閱讀輸入的?逐行?。或者所有這些行都在一個字符串中? – TheLostMind
請向我們展示整個樣本行以及您想要提取的內容。 –