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

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

贪婪:

? * + {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个值,惰性的

转载于:https://www.cnblogs.com/wangxinsheng/articles/4250118.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值