Replace中的正则表达式

2025-05-29 0 93

replace:把原有的字符替换成新的字符

1. replace的字符串替换

?

1

2

3
var str = 'pku2016pku2017';

str = str.replace('pku', 'pkusoft');

console.log(str); // pkusoft2016pku2017

在不使用正则的情况下,每次执行只能替换一个字符,每次执行都是从0开始替换,有重复的,无法全部替换

2. replace的正则的替换

?

1

2
str = str.replace(/pku/g, 'pkusoft'); // 使用正则的全局匹配

console.log(str); // pkusoftsoft2016pkusoft2017

首先和exec捕获一样,把所有和我们匹配正则的都捕获到,然后把捕获的内容替换成我们需要替换的新内容。
/pku/g按照这个正则把str中所有可以匹配的都捕获到,然后统一都替换成'pkusoft'
replace第二个参数若是一个函数

1. 匿名函数执行多少次,取决于正则能在字符串中捕获多少次

2. 每次执行匿名函数,arguments值和通过exec捕获到的内容很类似

3. return 返回值就是需要去替换的内容

?

1

2

3

4

5

6

7

8
str = str.replace(/pku/g, function () {

console.log(arguments);

// 第一次执行: ["pku", 0, "pku2016pku2017"]

// 第一次执行: ["pku", 7, "pku2016pku2017"]

// 返回的数组和执行exec返回的结果一致

return 'pkusoft';

});

console.log(str); // pkusoftsoft2016pkusoft2017

replace的分组捕获

?

1

2

3

4

5

6

7

8
str = str.replace(/(\\d+)/g, function () {

// console.log(arguments);

// 第一次执行: ["2016", "2016", 7, "pkusoft2016pkusoft2017"]

// 第一次执行: ["2017", "2017", 18, "pkusoft2016pkusoft2017"]

// 返回的数组和执行exec返回的结果一致

return '0000';

});

console.log(str); // pkusoft0000pkusoft0000

replace的应用

?

1

2

3

4

5

6

7
var str = '20171001';

var arr = ["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"];

str = str.replace(/\\d/g,function () {

var num = arguments[0]; // 把捕获的内容,作为数组的下标

return arr[num];

});

console.log(str); // 贰零壹柒壹零零壹

总结

以上所述是小编给大家介绍的Replace中的正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对快网idc网站的支持!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Replace中的正则表达式 https://www.kuaiidc.com/88547.html

相关文章

发表评论
暂无评论