频道栏目
首页 > 资讯 > JavaScript > 正文

javascript正则表达式(3)——贪婪模式与分组

17-02-25        来源:[db:作者]  
收藏   我要投稿

贪婪模式

"12345678"正则:\d{3,6}

贪婪模式:会尽可能多的匹配,直到匹配失败

例如:'12345678'.replace(/\d{3,6}/g,'X');

结果:"X78"

非贪婪模式

"12345678"正则:\d{3,6}

非贪婪模式:让正则表达式尽可能少的匹配,也就是说一旦成功匹配不再继续尝试

方法:在量词后面加上?即可

例如:'12345678'.match(/\d{3,6}?/g);

结果:["123","456","789"]

例如:'12345678'.replace(/\d{3,6}?/g,'X');

结果:"XX78"

分组

如果我们想匹配字符串Byron连续出现3次的场景

可能会用到 Byron{3}

但实际与我们的预期不符合。

 

使用()可以达到分组的功能,使量词作用于分组(Byron){3}

 

例如:'a1b2c3d4'.replace(/([a-z]\d){3}/g,'X');

结果:"Xd4"

使用|可以达到或的效果

Byron|Casper


 

反向引用

例如:2016-11-6=>11/6/2016

代码:'2016-11-6'.replace(/(\d{4})-(\d{2})-(\d{2})/g,'$2/$3/$1');

结果:11/6/2016


 

忽略分组

不希望捕获某些分组,只需要在分组内加上?:就可以

如:(?:Byron).(ok)


 

只有ok被视为一个分组,记为$1

相关TAG标签
上一篇:Javascript异步编程的4种方法
下一篇:圣杯与双飞翼布局代码总结
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站