0

查看下一段代码:

'<node>* loduis <node>*\nucla $&*'.replace(/\<node\>/g, '$&');

结果是:

'<node>* loduis <node>*\nucla <node>*'

而不是预期的

'$&* loduis $&*\nucla $&*'

为什么不替换'<node>''$&'

4

1 回答 1

1

如果你真的必须:

'$&* loduis $&*\nucla $&*'.replace(/\$&/g, '<node>')
                          .replace(/\<node\>/g, function () { return "$&"; });

$&将匹配的字符串插入replace(). (更多信息

如评论中所述,您可以转义"$&""$$&".

于 2013-10-31T14:26:00.130 回答