0
我有下面的代碼。模式匹配器沒有給出預期的輸出
String testdata = "%%%variable1%%% is not equal to %%%variable2%%%";
Pattern p = Pattern.compile("\\%%%(.*?)\\%%%");
Matcher m = p.matcher(testdata);
String variables = "";
int i = 0;
while (m.find()) {
System.out.println(m.group());
variables=m.group().replaceAll("%%%", "");
System.out.println(variables);
i++;
}
我想打印兩個字符串%%%
。 所以我期待下面的輸出:
%%%variable1%%%
variable1
%%%variable2%%%
variable2
但實際產量爲:
%%%variable1%%%
variable1
variable2
variable2
爲什麼會這樣呢?這有什麼問題?
如果你刪除'i ++'並使用'group(0)'? – npinti
@npinti:它工作。謝謝。 :) – manutd
如果還有一個變量,就會出現錯誤。 – rock321987