微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达式中的 .*? 或 .*+ 是什么意思?

最近要做一个提取文字特殊内容的工具,老是不会写正则表达,经常遇到.*? 或 .*+ 这些符号,网上查查,终于知道什么意思了,记录一下网上解释结果:

后边多一个?表示懒惰模式。
必须跟在*或者+后边用
如:<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

原文地址:https://www.jb51.cc/regex/360685.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐