js replace正则替换
replace() 方法返回一个由替换值替换一些或所有匹配的模式后的新字符串。模式可以是一个字符串或者一个正则表达式,替换值可以是一个字符串或者一个每次匹配都要调用的回调函数。
1. 当第二个参数是字符串时,可以使用特殊变量名
变量名 | 代表的值 |
---|---|
$$ | 插入一个 “$” |
$& | 插入匹配的子串 |
$` | 插入当前匹配的子串左边的内容 |
$’ | 插入当前匹配的子串右边的内容 |
$n | 假如第一个参数是 RegExp对象,并且 n 是个小于100的非负整数,那么插入第 n 个括号匹配的字符串 |
示例:
1 | var str="123{{name}}456"; |
2. 第二个参数也可以使用函数,函数的参数含义为:
变量名 | 代表的值 |
---|---|
match | 匹配的子串。(对应于上述的$&。) |
p1,p2,… | 假如replace()方法的第一个参数是一个RegExp 对象,则代表第n个括号匹配的字符串。(对应于上述的$1,$2等。) |
offset | 匹配到的子字符串在原字符串中的偏移量(即匹配的第一个字符在原字符串的索引)。 |
string | 被匹配的原字符串。 |
示例:
1 | var str="123{{name}}456"; |