你知道正则表达式中的 .*? 或 .*+ 的意思嘛?

系列文章目录


 第一章:日常_JAVA_面试题集1(含答案)
 第二章:日常_JAVA_面试题集2(含答案)
 第三章:日常_JAVA_面试题集3(含答案)
 第四章:日常_JAVA_面试题集4(含答案)
 第四章:日常_JAVA_面试题集8(含答案)
 往期文章大全……


你知道正则表达式中的 .*? 或 .*+ 的意思嘛?


前言

作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具


提示:以下是本篇文章正文内容

正则表达式简介

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

这篇文章重点给大家介绍正则表达式中的 .? 或 .+ 的意思 ,具体内容如下所示:

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

后边多一个?表示懒惰模式
必须跟在*或者+后边用

如果用正则匹配src中内容非懒惰模式匹配
src=".*"
匹配结果是:src=“test.jpg” width=“60px” height=“80px”
意思是从="往后匹配,直到最后一个"匹配结束

懒惰模式正则:

src=".*?"
结果:src=“test.jpg”
因为匹配到第一个"就结束了一次匹配。不会继续向后匹配。因为他懒惰嘛。

.表示除\n之外的任意字符
*表示匹配0-无穷
+表示匹配1-无穷

总结

以上就是今天要讲的内容,本文仅仅简单介绍了正则表达式中的 .*? 或 .*+ 。

猜你喜欢

转载自blog.csdn.net/Feng_wwf/article/details/107567090