关于正则表达式中replace的第二个参数

语法
string.replace(RegExp,newVal)
参数值
RegExp
必须。规定子字符串或要替换的模式的 RegExp 对象。请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。
newvalue
必需。替换文本 或 生成替换文本的函数。
返回值
【关于正则表达式中replace的第二个参数】String
一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。
第二个参数newvalue
替换文本

var str='讨论一下正则表达式中的replace的用法'; str.replace(/正则表达式/,'《正则表达式》'); // 得到:"讨论一下《正则表达式》中的replace的用法"

预定义字符
$& 与正则相匹配的字符串 $` 匹配字符串左边的字符 $’ 匹配字符串右边的字符 $1,$2,$3,…,$n 匹配结果中对应的分组匹配结果

var str='讨论一下正则表达式中的replace的用法'; str.replace(/正则表达式/,'《$&》'); // 得到:"讨论一下《正则表达式》中的replace的用法"

函数
var str='讨论一下正则表达式中的replace的用法'; str.replace(/(正则).+?(式)/,function() { console.log(arguments); }); //arguments 为一个数组 arguments[0]存放的是完整匹配, arguments[1]存放的是与第一个()扩起来的表达式相匹配的子串, arguments[2]存放的是与第二个()扩起来的表达式相匹配的子串, arguments[3] 匹配到的序号 arguments[4] 即最后一项 存放的是原文本// ["正则表达式", "正则", "式", 4, "讨论一下正则表达式中的replace的用法"] 分别表示,匹配到的文本=正则表达式, 分组1=正则,分组2=式,index=4的时候匹配到的,原文本=讨论一下正则表达式中的replace的用法

    推荐阅读