查看下一个代码:
'<node>* loduis <node>*\nucla $&*'.replace(/\<node\>/g, '$&');
结果是:
'<node>* loduis <node>*\nucla <node>*'
而不是预期的
'$&* loduis $&*\nucla $&*'
为什么不用'<node>'
替换'$&'
?
答案 0 :(得分:1)
如果你真的必须:
'$&* loduis $&*\nucla $&*'.replace(/\$&/g, '<node>')
.replace(/\<node\>/g, function () { return "$&"; });
$&
在replace()
中插入匹配的字符串。 (more info)
正如评论中所述,您可以将"$&"
转义为"$$&"
。