小编典典

Javascript Regex:如何将变量放入正则表达式中?

all

例如:

function(input){
    var testVar = input;
    string = ...
    string.replace(/ReGeX + testVar + ReGeX/, "replacement")
}

但这当然行不通:)有什么办法吗?


阅读 98

收藏
2022-05-18

共1个答案

小编典典

const regex = new RegExp(ReGeX${testVar}ReGeX);

string.replace(regex, “replacement”);

更新

根据一些评论,重要的是要注意,如果可能存在恶意内容(例如,变量来自用户输入),您可能希望转义 变量

ES6 更新

在 2019 年,这通常会使用模板字符串编写,并且上面的代码已经更新。原来的答案是:

var regex = new RegExp("ReGeX" + testVar + "ReGeX");
...
string.replace(regex, "replacement");
2022-05-18