栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java正则表达式-捕获重复的组

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java正则表达式-捕获重复的组

Java不允许您访问重复捕获组的单个匹配项。

Tim Pietzcker提供的代码也可以为您提供帮助。如果您稍作修改,并为第一个数字添加特殊情况,则可以使用以下代码:

String target = "31,5,46,7,86";Pattern compileFirst = Pattern.compile("(?<number>[0-9]+)(,([0-9])+)*");Pattern compileFollowing = Pattern.compile(",(?<number>[0-9]+)");Matcher matcherFirst = compileFirst.matcher(target);Matcher matcherFollowing = compileFollowing.matcher(target);System.out.println("matches: " + matcherFirst.matches());System.out.println("first: " + matcherFirst.group("number"));int start = 0;while (matcherFollowing.find(start)) {    String group = matcherFollowing.group("number");    System.out.println("following: " + start + " - " + group);    start = matcherFollowing.end();}

输出:

matches: truefirst: 31following: 0 - 5following: 4 - 46following: 7 - 7following: 9 - 86


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/454738.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号