为了账号安全,请及时绑定邮箱和手机立即绑定

具有可变数量的组的正则表达式?

具有可变数量的组的正则表达式?

慕森王 2019-08-23 09:56:47
具有可变数量的组的正则表达式?是否可以创建具有可变数量的组的正则表达式?例如运行之后......Pattern p = Pattern.compile("ab([cd])*ef");Matcher m = p.matcher("abcddcef");m.matches();...我想有类似的东西m.group(1) = "c"m.group(2) = "d"m.group(3) = "d"m.group(4)= "c"。(背景:我正在解析一些数据行,其中一个“字段”正在重复。我想避免matcher.find这些字段的循环。)正如@Tim Pietzcker在评论中指出的那样,perl6和.NET都有这个功能。
查看完整描述

3 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

根据文档,Java正则表达式不能这样做:

与组关联的捕获输入始终是该组最近匹配的子序列。如果由于量化而第二次评估组,则如果第二次评估失败,则将保留其先前捕获的值(如果有的话)。例如,将字符串“aba”与表达式(a(b)?)+匹配,将第二组设置为“b”。在每次比赛开始时丢弃所有捕获的输入。

(重点补充)


查看完整回答
反对 回复 2019-08-23
  • 3 回答
  • 0 关注
  • 713 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信