返回重叠的正则表达式

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


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


不负相思意
浏览 443回答 1
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
打开App,查看更多内容
随时随地看视频慕课网APP