我尝试解析字符串/param1=value1/param2=value2
,使用以下代码提取param / value对:
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
?
答案 0 :(得分:1)
从正则表达式中删除asterisk
(*
)。