在js正则表达式replace里面的问题,请看下面代码

var reg = /((\?)(pn=[^&]*&)+(?!pn=))|(((\?|&)pn=[^&]*)+$)|(&pn=[^&]*)/g;
for (var i = 0; i < a.length; i++) {
alert(a[i].replace(reg, "$2"));
}
在replace方法立面替换成"$2"是什么意思?有什么作用?

校验表达式 用 $2代替了原来的表达式。
$2是指第2个小括号里的 表达式:
相当于是(((\?|&)pn=[^&]*)+$)|(&pn=[^&]*)是新的校验规则。追问

你的意思是指第二个小括号里面的内容替换成"$2" 还是应用第二个小括号里面的规则?

追答

用第二个小括号里的规则

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网