【发布时间】:2012-08-31 22:18:07
【问题描述】:
使用以下代码:
var x = 'foo';
console.log(x.replace(x, "\\$&"));
输出为'\foo',如下图所示:http://jsfiddle.net/mPKEx/
为什么没有
'\\$&"?
我用 "\$&" 替换所有 x ,这只是一个计划中的旧字符串,所以为什么 string.replace 做一些疯狂的替换,当函数的第二个参数不应该做任何事情时,除了被替换...
【问题讨论】:
-
奇怪的是你恰好选择了这些角色。从您的角度来看,它可能看起来像一个错误。
-
我用一大段文字替换了一些内容,其中恰好包含这些字符,我花了很长时间才将其缩小到这些字符是原因。
-
我 25% 的工作是追查类似的小谜团。
标签: javascript regex string replace