正则表达式中的 .*? 或 .*+ 的意思
(编辑:jimmy 日期: 2024/11/18 浏览:3 次 )
正则表达式简介
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
这篇文章重点给大家介绍正则表达式中的 .*"test.jpg" width="60px" height="80px"/>
如果用正则匹配src中内容非懒惰模式匹配
src="/UploadFiles/2021-04-02/.*">
匹配结果是:src="test.jpg">
意思是从="往后匹配,直到最后一个"匹配结束
懒惰模式正则:
src="/UploadFiles/2021-04-02/.*">
结果: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
总结
下一篇:grep中使用"\d"匹配数字不成功的原因解决