java Matcher group 的问题

healhaha 2012-12-08 04:46:22
代码片段如下:

Pattern p = Pattern.compile("(.{3,10}?)([0-9])");

String s = "aaaa5bbbb68";

Matcher m = p.matcher(s);

while(m.find())

{

p(m.group(1));

}

结果为:

aaaa

bbbb

为什么是输出4个a呢,怎么不是3个?
...全文
175 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
healhaha 2012-12-08
  • 打赏
  • 举报
回复
引用 楼主 healhaha 的回复:
代码片段如下: Pattern p = Pattern.compile("(.{3,10}?)([0-9])"); String s = "aaaa5bbbb68"; Matcher m = p.matcher(s); while(m.find()) { p(m.group(1)); } 结果为: aaaa……
那里是m.group(1)啊,所以"aaaa5bbbb68";就只和("(.{3,10}?)匹配不是吗?本人今天才学习正则表达式,可能理解不够,希望详细解释下,感激不尽!!!!!!!!!!
龙四 2012-12-08
  • 打赏
  • 举报
回复
(.{3,10}?)([0-9])这两个括号里的内容都必须同时匹配,若只匹配三个a,那还有一个a跟([0-9])能匹配吗

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧