1
我必須解析下面的示例輸出。要求在Fabric management FPC state:
之後應該沒有文字,即它應該是空的\s
。接下來的部分是有點棘手,我卡在那裏。所以每個FPC
有一個或多個PFE
和每個FPE
有一個或多個SIB
。每個SIB
有四種可能的狀態。他們是Plane Enabled, Link Error, Desination Error and Plane Disabled
。我應該使用正則表達式解析這個問題,並跟蹤每個FPC, PFE and SIB
的狀態。我不知道如何在正則表達式中使用'linked'
組。Java鏈接正則表達式
Fabric management FPC state:
FPC#0
PFE #0
SIB #0
Plane enabled
SIB #1
Link Error
PFE #1
SIB #0
Destination Error
SIB #1
Plane Disabled
SIB #2
Plane enabled
FPC#1
PFE #1
SIB #0
Plane enabled
到目前爲止,我有什麼是
public void parseFPCS(String commandOutput) {
regex = "FPC state:(\\s*)(FPC\\s*#?\\d+)\\s*(PFE\\s*#\\d+)\\s*(SIB\\s*#\\d+)\\s*(\\w*\\s*\\w*)";
pattern = Pattern.compile(regex, patternFlag);
matcher = pattern.matcher(commandOutput);
while(matcher.find()) {
String empty = matcher.group(1);
Boolean isEmpty = empty.trim().isEmpty();
if(isEmpty) {
System.out.println("Link Empty");
System.out.println(matcher.group(2));
System.out.println(matcher.group(3));
System.out.println(matcher.group(4));
System.out.println(matcher.group(5));
//Right now I am just printing it out to see the outcome.
}
}
The current outcome is
Link Empty
FPC#0
PFE #0
SIB #0
Plane enabled //This is expected.
接近這種方式會更容易。 – theking963