正则表达式中的 .*? 或 .*+ 是什么意思?
发布时间:2020-12-14 01:24:20 所属栏目:百科 来源:网络整理
导读:最近要做一个提取文字特殊内容的工具,老是不会写正则表达,经常遇到.*? 或 .*+ 这些符号,网上查查,终于知道什么意思了,记录一下网上解释结果: 后边多一个?表示懒惰模式。必须跟在*或者+后边用如:img src="test.jpg" width="60px" height="80px"/如果
最近要做一个提取文字特殊内容的工具,老是不会写正则表达,经常遇到.*? 或 .*+ 这些符号,网上查查,终于知道什么意思了,记录一下网上解释结果: 后边多一个?表示懒惰模式。 必须跟在*或者+后边用 如:<img src="test.jpg" width="60px" height="80px"/> 如果用正则匹配src中内容非懒惰模式匹配 src=".*" 匹配结果是:src="test.jpg" width="60px" height="80px" 意思是从="往后匹配,直到最后一个"匹配结束 懒惰模式正则: src=".*?" 结果:src="test.jpg" 因为匹配到第一个"就结束了一次匹配。不会继续向后匹配。因为他懒惰嘛。 .表示除n之外的任意字符 *表示匹配0-无穷 +表示匹配1-无穷 去掉括号实例 <span style="font-size:14px;">public class Test { public static void main(String[] args) { String s = "图片(img=32,34)http://www.sds.com/jpg(/img)图片(img=32,34)http://www.sds.com/jpg(/img)"; System.out.println(s.replaceAll("[.+?]","")); } }</span>
结果: 图片http://www.sds.com/jpg图片http://www.sds.com/jpg (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |