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

返回重叠的正则表达式

/ 猿问

返回重叠的正则表达式

不负相思意 2019-10-04 14:11:55

是否有一个正则表达式可以捕获一个表达式的所有实例,而不管它们是否重叠?


例如,/abc/def/ghi如果我想捕获所有以开头的字符串/。正则表达式(/.*)只返回整个字符串,但我希望它匹配/def/ghi和/ghi为好。


查看完整描述

1 回答

?
大话西游666

当然,匹配一个空字符串,然后/.*在捕获组中进行捕获之前先行查找:


Matcher m = Pattern.compile("(?=(/.*))").matcher("/abc/def/ghi");

while(m.find()) {

  System.out.println(m.group(1));

}

将打印:


/abc/def/ghi

/def/ghi

/ghi


查看完整回答
反对 回复 2019-10-04

添加回答

回复

举报

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