正则表达式<.*?>是什么意思?
. 带白匹配除换行符以外的任意字符
* 重复零次或更多次
? 重复零次或一次
怎么从前到后读? 展开
表达式 .* 就是单个字符匹配任意次,即贪婪匹配。 表达式 .*? 是满足条件的情况只匹配一次,即最小匹配.
举例介绍:
如:<img src="test.jpg" width="60px" height="80px"/>
懒惰模式正则:
src=".*?"
结果:src="test.jpg"
扩展资料
正则表达式特殊字符及其含义:
1、\cx
匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 ‘c’ 字符。
2、\f
匹配一个换页符。等价于 \x0c 和 \cL。
3、\n
匹配一个换行符。等价于 \x0a 和 \cJ。
4、\r
匹配一个回车符。等价于 \x0d 和 \cM。
5、\s
匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
6、\S
匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
7、\t
匹配一个制表符。等价于 \x09 和 \cI。
8、\v
匹配一个垂直制表符。等价于 \x0b 和 \cK。
参考资料:
*表示匹配重复上一个字符0到无限次
?表示匹配前一个字符0次或一次,跟在*表示非贪婪模式
默认是贪婪模式比如
<.*>会把所有字符吞下满足前面是<后面是>就返回字符串
<.*?>一次吃一个字符满足条件返回字符串
"<.*?>"表示可以匹配:"<>" 或 "<abcdefg>"