JavaScript在正则表达式中查找并替换为变量

JavaScript在正则表达式中查找并替换为变量,javascript,Javascript,可能重复: 函数function1(){ var key=“name”; var sample=“param.name['key']=name;param.name[i]=1000;param.name1[i]=name1;”; var result=result.replace(/param.\[(\d+)\]/g,'parameter[prefix\$1]'; } 预期结果:参数['prefix_key']=name;参数['prefix_i']=1000 我无法在正则表达式中将变量键添

可能重复:

函数function1(){
var key=“name”;
var sample=“param.name['key']=name;param.name[i]=1000;param.name1[i]=name1;”;
var result=result.replace(/param.\[(\d+)\]/g,'parameter[prefix\$1]';
}
预期结果:
参数['prefix_key']=name;参数['prefix_i']=1000
我无法在正则表达式中将变量键添加到替换函数中。

请帮助如何在replace中构造正则表达式。您可以通过创建
RegExp
对象从字符串中生成正则表达式:

var regex = new RegExp("param\\." + name + "\\[(\d+)\\]", "g")
var result = result.replace(regex, 'parameter[prefix_$1]');

~function function1(){var key=“name”var sample=“param.name['key']=name;param.name[i]=1000;param.name1[i]=name1;“var regex=new RegExp(“param\”+name+“[(\d+)”,“g”)var result=sample.replace(regex,'parameter[prefix_$1]);alert(result);//预期结果:参数['prefix_key']=name;参数['prefix_i']=1000;//我无法将变量key添加到正则表达式中的替换函数。}~我的代码中有更新函数。@user1812171:Blender缺少一些转义。。。固定的。不过还是复制品,不太合适output@user1812171当前位置由于我不知道你得到了什么结果,我帮不了你多少忙。然而,这个问题已经被问了很多次。阅读这些问题,确保你理解正则表达式的基础知识,并努力做到这一点。你需要知道的一切都在那里,你只需要把它们拼凑起来。编辑:问题出在原始表达式中<代码>\d+
仅与数字匹配,而不匹配,例如
“键”
。相应地调整你的表情,它就会起作用。如果您对正则表达式不是很熟悉,我建议您阅读。
var regex = new RegExp("param\\." + name + "\\[(\d+)\\]", "g")
var result = result.replace(regex, 'parameter[prefix_$1]');