Javascript正则之正则的分组、replace

本文详细介绍了正则表达式中的分组捕获功能,包括其基本概念、如何使用分组来改变匹配优先级及引用已匹配的内容。此外,还探讨了正则表达式在JavaScript中replace方法的应用,以及如何利用分组进行高效的字符串替换。

分组捕获:

作用:1:改变优先级;2:分组引用

\2代表和第二个分组出现一模一样的内容,\1和第一个分组出现的一模一样

一模一样:和对应的分组中的内容的值都要一样

var reg=/^(\w)\1(\w)\2$/;

console.log(reg.test("zzff")); //-> true

console.log(reg.test("z0f_")); //-> false

3、分组捕获 ->正则在捕获的时候,不仅仅把大正则匹配的内容捕获到,而且还可以把小正则匹配的内容捕获到

//(?:):在分组中是只匹配不捕获,放在一个小的分组的里面

4、replace:把原有的字符替换成新的字符,在不使用正则的情况下,只能替换一个匹配的字符

var str = "xuexipeixunziqing"

str = str.replace("aiqing", "haha");

console.log(str);

str = str.replace(/xuexi/g, "haha");

实现原理:首先replace会像exec一样先把字符串str中符合正则的全部捕获到,然后统一修改需要替换成的字符串;

RegExp.$1 ->获取第一个分组捕获的内容   (不兼容IE9及以下)

 

正则的捕获:正则的exec方法、字符串的match方法、字符串的replace方法

//replace:将原有的字符替换成新的字符

var str = "xuexipeixun~xuexijiaoyu~";

str = str.replace(/xuexi/g, "学习");

console.log(str);

原理:先按照正则制定的规则,到str字符串中正则匹配的内容捕获到,然后再每一次捕获到之后,都把捕获的内容替换成新的内容

 

 

 

转载于:https://my.oschina.net/u/3419199/blog/1476682

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值