[JS]正则量词的贪婪、惰性

来源:互联网 发布:ps4安装linux 编辑:程序博客网 时间:2024/04/29 13:08

正则表达式量词分别是:贪婪的、惰性的、支配性的。

贪婪:

? * + {n} {n,m} {n,}

惰性:

??  *?  +?  {n}?  {n,m}?  {n,}?

支配:

?+  *+  ++  {n}+  {n,m}+  {n,}+

 

分别的意思是:

零次或一次出现、零次或多次出现、一次或多次出现、恰好N次出现、至少N次最多M次出现、至少N次出现。

贪婪量词:先看整个字符串是否匹配,如果不匹配就把最后一个字符去掉在进行匹配,不匹配继续去掉最后一个字符,指导找到一个匹配或者不剩任何字符才停止。

惰性量词:先看第一个字符串是否匹配,如果第一个不匹配就在加入第二个字符串依此类推,指导找到一个匹配或者不剩任何字符才停止,贪婪量词与贪婪量词的方法正好相反.

浏览器对量词的支持还不完善,IE和OPERA都不支持量词,MOZILLA把支配量词看作是贪婪的

例子:

var str = 'aabbazbbwwbbaa';
var arr =str.match(/.*bb/); //aabbazbbwwbb,贪婪的
var arr =str.match(/.*?bb/g); //aabb azbb wwbb 返回一个数组包含3个值,惰性的

0 0
原创粉丝点击