正则表达式里面 .* 和 .*? 有什么区别?

看天下小事
推荐于2019-09-27 · TA获得超过464个赞
知道答主

回答量:6
采纳率:0%
帮助的人:2479
我也去答题访问个人页
关注
表达式 .* 就是单个字符匹配任意次,即贪婪匹配。
表达式 .*? 是满足条件的情况只匹配一次,即最小匹配.
\s 匹配任何空白非打印字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符。

\S 匹配任何非空白非打印字符。等价于 [^ \f\n\r\t\v]。

*限定符是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。

比如:

Chapter 1 - 介绍正则表达式

使用/<.*>/匹配的结果为:H1>Chapter 1 - 介绍正则表达式</H1。

使用/<.*?>/匹配结果为:H1。

拓展知识

正则表达式特殊字符及其含义

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wojiuguowei/article/details/120433708
今日推荐