たとえば次のようになります。
function(input){
var testVar = input;
string = ...
string.replace(/ReGeX + testVar + ReGeX/, "replacement")
}
しかし、これはもちろん機能しません:) これを実行する方法はありますか?
ベストアンサー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");