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