javascript 正则表达式触发函数进行高级替换
人气:0
一般情况下我们可能会用到正则表达式去替换文本:
var a = "abc123aXc";
a.replace(/a.c/g, 'ZZ');
我们可以用函数来定义高级替换,而不是一个简单的字符串。比如:
执行结果为:
<a href="http://jb51.net/">
如果我们知道了传递参数的规则就会很清楚其原理了。事实上,如果在正则表达式中定义了子匹配,那么参数的长度会随着子匹配的个数改变,如果没有定义子匹配,那么长度是固定的。传参的规则为:
匹配字符串本身
所有子匹配(如果定义了)
匹配字符串在原始字符串中的位置
复制代码 代码如下:
var a = "abc123aXc";
a.replace(/a.c/g, 'ZZ');
我们可以用函数来定义高级替换,而不是一个简单的字符串。比如:
执行结果为:
<a href="http://jb51.net/">
如果我们知道了传递参数的规则就会很清楚其原理了。事实上,如果在正则表达式中定义了子匹配,那么参数的长度会随着子匹配的个数改变,如果没有定义子匹配,那么长度是固定的。传参的规则为:
匹配字符串本身
所有子匹配(如果定义了)
匹配字符串在原始字符串中的位置
加载全部内容