您好,欢迎访问一九零五行业门户网

Replace中的正则表达式使用详解

这次给大家带来replace中的正则表达式使用详解,使用replace中正则表达式的注意事项有哪些,下面就是实战案例,一起来看一下。
replace:把原有的字符替换成新的字符
1. replace的字符串替换
var str = 'pku2016pku2017'; str = str.replace('pku', 'pkusoft'); console.log(str); // pkusoft2016pku2017
在不使用正则的情况下,每次执行只能替换一个字符,每次执行都是从0开始替换,有重复的,无法全部替换
2. replace的正则的替换
str = str.replace(/pku/g, 'pkusoft'); // 使用正则的全局匹配 console.log(str); // pkusoftsoft2016pkusoft2017
首先和exec捕获一样,把所有和我们匹配正则的都捕获到,然后把捕获的内容替换成我们需要替换的新内容。
/pku/g按照这个正则把str中所有可以匹配的都捕获到,然后统一都替换成'pkusoft'
replace第二个参数若是一个函数
1. 匿名函数执行多少次,取决于正则能在字符串中捕获多少次
2. 每次执行匿名函数,arguments值和通过exec捕获到的内容很类似
3. return 返回值就是需要去替换的内容
str = str.replace(/pku/g, function () {  console.log(arguments);  // 第一次执行: [pku, 0, pku2016pku2017]  // 第一次执行: [pku, 7, pku2016pku2017]  // 返回的数组和执行exec返回的结果一致  return 'pkusoft'; }); console.log(str); // pkusoftsoft2016pkusoft2017
replace的分组捕获
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的应用
var str = '20171001'; var arr = [零,壹,贰,叁,肆,伍,陆,柒,捌,玖]; str = str.replace(/\d/g,function () {  var num = arguments[0]; // 把捕获的内容,作为数组的下标  return arr[num]; }); console.log(str); // 贰零壹柒壹零零壹
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
lastindex与正则表达式的关系
匹配js中注释的正则
正则表达式的\d元字符(等价于[^0-9])使用详解
以上就是replace中的正则表达式使用详解的详细内容。
其它类似信息

推荐信息