1. ホーム
  2. ジャバスクリプト

[解決済み】Javascript Regex: 正規表現の中に変数を入れるには? 重複】Javascript Regex: 正規表現の中に変数を入れるには?

2022-04-01 12:54:37

質問

<余談
この質問には、すでにここで回答があります :
クローズド 1年前 .

だから例えば

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

しかし、これでは当然ながらうまくいきません :) 何か方法はないでしょうか?

解決方法は?

const regex = new RegExp(`ReGeX${testVar}ReGeX`);
...
string.replace(regex, "replacement");

更新情報

いくつかのコメントにつき、重要なのは エスケープ 変数 悪意のあるコンテンツの可能性がある場合 (例: 変数がユーザー入力によるものである場合)

ES6アップデート

2019年では、通常テンプレート文字列を使用して記述することになりますが、上記のコードが更新されました。元の回答は

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