replace是字符串string的一个方法,用于字符串的正则替换。
正则替换,可以跟一个回调函数:
str.replace(regExp,function(str1,function(a,b,c,d){
//* 第一个参数a:匹配到的字符串
//* 第二个参数b:匹配到的分组
//* 第三个参数c:匹配到字符串的位置
//* 第四个参数d:被匹配的字符串
//* 注意:
//* 如果是捕获到2个分组,b和c就是分组信息,d是匹配到字符串的位置,以此类推。。。。
})
举例:
let str = '<a>{#text#}</a>'
let replaceStr = str.replace(/\{#(\w+)#\}/g,function(a,b,c,d){
console.log(a)//匹配到的字符串:{#text#}
console.log(b)//捕获到的分组信息,也就是:text
console.log(c)//匹配到的字符串位置:3
console.log(d)//被匹配的字符串,也就是str:<a>{#text#}</a>
return '被替换的字符串'
})
console.log(replaceStr)//<a>被替换的字符串</a>