由于变量rep,这不起作用。请问正确的语法是什么?
var bigtext = 'testing test test test';
var rep = 'test';
bigtext = bigtext.replace(/rep/g, "MOO!");
我知道问题在于替换中的正则表达式部分...但是编写它的正确方法是什么?
答案 0 :(得分:6)
您需要使用RegExp
构造函数构建正则表达式:
var bigtext = 'testing test test test';
var rep = 'test';
var regex = new RegExp(rep, 'g');
bigtext = bigtext.replace(regex, "MOO!");
可以在the MDN page上看到此构造函数的文档。请注意,您可能应确保正则表达式中的任何特殊字符(例如[
)都已转义。