Jquery在所有文本语法正则表达式中替换变量

时间:2012-08-14 14:15:58

标签: javascript regex replace

由于变量rep,这不起作用。请问正确的语法是什么?

var bigtext = 'testing test test test';
var rep = 'test'; 
bigtext = bigtext.replace(/rep/g, "MOO!");

我知道问题在于替换中的正则表达式部分...但是编写它的正确方法是什么?

1 个答案:

答案 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上看到此构造函数的文档。请注意,您可能应确保正则表达式中的任何特殊字符(例如[)都已转义。