一、贪婪模式
贪婪模式表示尽可能多的匹配字符串,正则表达式六个量词元字符?、+、*、{n}、{n,m}、{n,}默认是贪婪模式
接下来引入一个场景来分析说明
获取html a标签href属性的值
<a href="https://www.baidu.com/" attr="abc"></a> <a href="https://www.163.com"></a>
正则表达式href="(.+)"匹配超出第一个href的值,此外还匹配到第二个href的值,属于过度匹配
印证了上面说的贪婪模式
二、非贪婪模式
非贪婪模式表示尽可能少的匹配所搜索的字符串,在原本的6个量词元字符后面加上问号?,表示非贪婪模式??、+?、*?、{n}?、{n,m}?、{n,}?
以上文说到的获取href的值作为案例,
把原本的正则表达式href="(.+)"加上问号,href="(.+?)"变为非贪婪模式
最终达到我们获取href值的效果