0

我已经在这个地方搜索了很多,并且我坚持我的正则表达式有效,但不是动态的。

id_name是动态选取的字符串。然后,正则表达式应该用“vals”中的单个 var 替换匹配项。出于某种原因,当我在没有变量的情况下编写正则表达式时,它会按预期工作。我想我可能在转换为正则表达式对象时做错了。

原始字符串:

obj = values.replace(/{name}(.*?){\/name}/, 'igm');

正则表达式对象:

        re = '\/{' + id_name + '}(.*?){\\/' + id_name + '}\/';
        regexp = new RegExp(re, 'igm');
        obj = values.replace(regexp, vals);

提前致谢!

4

1 回答 1

1

/如果您通过构造函数构造正则表达式,则不需要也不需要转义字符:

re = '{' + id_name + '}(.*?){/' + id_name + '}';
于 2012-07-12T08:40:43.567 回答