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

作者: 健隆 分类: 前端 发布时间: 2021-10-09 10:04

表达式 .* 就是单个字符匹配任意次,即贪婪匹配。 
表达式 .*? 是满足条件的情况只匹配一次,即最小匹配.

\s    匹配任何空白非打印字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符。   

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

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

比如:<H1>Chapter 1 - 介绍正则表达式</H1>

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

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

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!