1. ホーム
  2. javascript

[解決済み] 正規表現で変数を使うには?

2022-02-10 14:39:41

質問内容

を作りたいのですが String.replaceAll() メソッドで、正規表現を使用することが最も簡潔な方法だと考えています。 しかし、正規表現に変数を渡す方法がわかりません。 私はすでにこれを行うことができます。 "B""A" .

"ABABAB".replace(/B/g, "A");

でも、こんな風にしたいんです。

String.prototype.replaceAll = function(replaceThis, withThis) {
    this.replace(/replaceThis/g, withThis);
};

しかし、明らかにこれはテキストを置き換えるだけです。 "replaceThis" ...では、この変数を正規表現文字列にどのように渡せばよいのでしょうか?

どのように解決するのですか?

を使用する代わりに /regex\d/g 構文を使用すると、新しい RegExp オブジェクトを作成します。

var replace = "regex\\d";
var re = new RegExp(replace,"g");

この方法で、正規表現オブジェクトを動的に作成することができます。では、そうします。

"mystring1".replace(re, "newstring");