正则表达式中贪婪与懒惰匹配

正则表达式中贪婪与懒惰匹配:

例子:

String content = "12345645"; 

String rex_zj = "(^1[\\w|\\W]*5)" ; //匹配所有1开头到5的字符串

因为5前面为* ,则匹配为贪婪匹配,匹配到字符串为最长,所以结果为12345645 

如果想匹配到第一个5结束,则为懒惰匹配 ,需要在5前面的*后添加一个?表示最短匹配

如下:String rex_zj = "(^1[\\w|\\W]*?5)" ; 

Pattern pattern = Pattern.compile(rex_zj );

Matcher matcher = pattern.matcher(content );

猜你喜欢

转载自username2.iteye.com/blog/2248081