我面臨兩個逗號問題: 1 - 我想用相同的模式搜索DE 99,SF 99和DE 99 SF 99。請注意唯一的區別就是逗號。我有一個數據元素編號(DE)和其子域編號(SF)的輸入。 SF不是總是存在,但我設法在下面的代碼中處理。問題是有些時候DE和SF會被「」分隔開,而其他時候則不會。 2 - 其他問題,貨幣值或帶有「,」的任何值在逗號後錯過。我放在我正在做的和一些測試案例的例子下面。請注意,該值可以是數字或字母數字。正則表達式 - 用逗號分隔
Found and read correctly the value
wholeLine: DE 3, SF 1 = 20
OUTPUT: DE 3, SF 1 = 20
Found and read correctly the value
wholeLine: DE 26 = 6538
OUTPUT: DE 26 = 6538
Found but read wrongly the value because only reads before 「,」
wholeLine: DE 4 = 3,727
OUTPUT: DE 4 = 3
Not Found
wholeLine: DE 63 SF 2 = xyz
Pattern patternDE = Pattern.compile("DE \\d+(, SF \\d+)* = \\w+");
Matcher matcherDE = patternDE.matcher(wholeLine);
while (matcherDE.find()){
String wholeThing = matcherDE.group();
System.out.println(wholeThing);
}