0

可能重复:
带有变量的正则表达式模式

function function1() {
    var key = "name";
    var sample = "param.name['key'] = name; param.name[i] = 1000; param.name1[i] = name1;";
    var result = result.replace(/param.<<name>>\[(\d+)\]/g, 'parameter[prefix_$1]');
}

预期结果:parameter['prefix_key'] = name; parameter['prefix_i'] = 1000; 我无法将变量键添加到正则表达式的替换函数中。
请帮助如何在替换中构造正则表达式

4

1 回答 1

1

您可以通过创建一个 RegExp对象从字符串中创建一个正则表达式:

var regex = new RegExp("param\\." + name + "\\[(\d+)\\]", "g")
var result = result.replace(regex, 'parameter[prefix_$1]');
于 2012-12-28T11:27:05.257 回答