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