2

在 JavaScript 中,我使用正则表达式上的全局标志来替换字符串。代码如下。

var string = "$$";
string = string.replace(/\$+/g, '"\'$$\'"');

$上面的代码将用新的字符串替换任何出现的"'$$'"

是否可以获得匹配的出现次数$?例如,我想替换$$$$"'$$$$$$$$'". 为了做到这一点,我需要知道有四次出现。

4

2 回答 2

6

您可以捕获数量$并用它替换两次:

string = string.replace(/\$+/g, '"\'$&$&\'"');

$&替换捕获的内容。

于 2013-04-28T23:26:02.923 回答
1

您可以在 replace 方法中使用函数而不是字符串作为第二个参数,如下所示:

var string = '$$';

string = string.replace(/(\$+)/g, function(match, $1) { return $1+$1; })

有关替换方法的更多信息,请访问

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/replace

于 2013-04-28T23:37:10.413 回答