Я пытаюсь проанализировать строку /param1=value1/param2=value2
, чтобы извлечь пары параметр / значение с помощью этого кода:
public static void main(String[] foo) {
RegExp regExp = RegExp.compile("(/(\\w+)=(\\w+))*", "g");
MatchResult matchResult = regExp.exec("/param1=value1/param2=value2");
for (int i = 0; i < matchResult.getGroupCount(); i++) {
System.out.println("group" + i + "=" + matchResult.getGroup(i));
}
}
, который выдает:
group0=/param1=value1/param2=value2
group1=/param2=value2
group2=param2
group3=value2
Я пробовал с и безфлаг "g
" (глобальный).
Почему он захватывает только param2=value2
, а не param1=value1
?