使用一个变量生成正则表达式,用于javascript的replace函数

Using a variable to produce regex to use in replace function of javascript

本文关键字:用于 正则表达式 javascript 函数 replace 变量 一个      更新时间:2023-09-26
var n=str.replace(/blue/g,"red");

这将字符串中的蓝色替换为红色。

但我只得到蓝色字符串作为要替换的字符串。我需要替换它的所有不区分大小写的实例。我不能在变量中保留蓝色,然后在替换中使用它。我试过了。但它不会起作用。

var i = blue;
var rep = "/"+i+"/gi";
var n=str.replace(rep,"red");

为什么不:

var i = "blue";
var p = new RegExp(i,"gi");
var n = str.replace(p, "red");