在javascript中替换标识符之间的多个单词实例

时间:2018-01-31 17:32:19

标签: javascript regex string replace

我正在尝试用一个单词替换%%之间的每个单词。直到现在我试过这个:

var string = "You chose %story% at %price%";

var rep = string.replace(/\%(.*)\%/g, "test");

console.log(rep);

rep的结果实际上是

"You chose test"

虽然我想要

"You chose test at test"

我怎样才能做到这一点?我虽然关于实现一个递归函数,但听起来很慢,尤其是多个单词

1 个答案:

答案 0 :(得分:0)

尝试下面的代码段,只需在?之后放置一个惰性量词*,这样就不会出现多次出现

var string = "You chose %story% at %price%";

var rep = string.replace(/%(.*?)%/g, "test");

console.log(rep);