我也来问个正则表达式问题
(? <=&q=).+(&)
这个正则表达式是匹配 &q= 与 & 之间的字符
但遇到这样的字符串: &q=aaa&bbb&ccc&(有多个&)
他得到的结果是: aaa&bbb&ccc
他会找到最后一个&
我只想匹配第一个&
得到: aaa
上面的表达式怎么改?
[解决办法]
是不是这样
(? <=&q=).+|(&)
[解决办法]
Pattern p = Pattern.compile("(?<=&q=).+?(?=&)"); String str = "&q=aaa&bbb&ccc&"; Matcher m = p.matcher(str); while (m.find()) { System.out.println(m.group()); }