小编典典

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

javascript

因此,例如:

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

但这当然是行不通的:)有什么办法可以做到这一点?


阅读 298

收藏
2020-04-25

共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");
2020-04-25