Javascript正则之正则的分组、replace

原创
2017/07/20 22:15
阅读数 651

分组捕获:

作用: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字符串中正则匹配的内容捕获到,然后再每一次捕获到之后,都把捕获的内容替换成新的内容

 

 

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部