ホームページ  >  に質問  >  本文

正規表現で変数を使用するにはどうすればよいですか?

<p>JavaScript で <code>String.replaceAll()</code> メソッドを作成したいのですが、正規表現を使用するのが最もクリーンな方法だと思います。しかし、正規表現に変数を渡す方法がわかりません。これはすでに実行できており、<code>"B"</code> のすべてのインスタンスを <code>"A"</code> に置き換えます。 </p> <pre class="brush:php;toolbar:false;">"ABABAB".replace(/B/g, "A");</pre> <p>しかし、私は次のようなことをしたいです: </p> <pre class="brush:php;toolbar:false;">String.prototype.replaceAll = function(replaceThis, withThis) { this.replace(/replaceThis/g, withThis); };</pre> <p>しかし、どうやらこれはテキスト <code>"replaceThis"</code> を置き換えるだけのようです...では、この変数を正規表現文字列に渡すにはどうすればよいでしょうか? </p>
P粉763748806P粉763748806424日前575

全員に返信(2)返信します

  • P粉141455512

    P粉1414555122023-08-24 10:47:54

    Eric Wendelin が述べたように、次のことができます:

    リーリー

    これにより、 「正規表現の一致」が生成されます。ただし、str1 が "." の場合は失敗します。ピリオド "正規表現" に置き換えて、結果が "パターン マッチング正規表現" になることを期待していましたが、結果は... となります。 リーリー

    これは、

    "." は文字列ですが、RegExp コンストラクターでは、文字列文字内の各文字を表す改行以外の文字を表す正規表現として解釈されるためです。この目的のために、次の関数が役立つ場合があります: リーリー

    次に、これを行うことができます:

    リーリー

    「パターン マッチング正規表現」

    を生成します。

    返事
    0
  • P粉318928159

    P粉3189281592023-08-24 10:01:04

    新しい RegExp オブジェクトを構築できます:

    リーリー

    この方法で正規表現オブジェクトを動的に作成できます。次に、次のようにします:

    リーリー

    返事
    0
  • キャンセル返事