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

语法

string.replace(RegExp,newVal)

参数值

RegExp
必须。规定子字符串或要替换的模式的 RegExp 对象。请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。

newvalue
必需。替换文本 或 生成替换文本的函数。

返回值

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的用法

你可能感兴趣的:(关于正则表达式中replace的第二个参数)