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

[解決済み】Javascriptで2つの文字列の間にある文字列を取得する正規表現

2022-04-09 23:06:19

質問

非常に似たような投稿を見つけたのですが、ここでは正規表現がうまくいきません。

私は、2つの文字列の間にある文字列を返す正規表現を書こうとしています。例えば 例えば、"cow" と "milk" という文字列の間にある文字列を取得したいのです。

<ブロッククオート

私の牛はいつもミルクを出す

を返すだろう。

常に与える。

これまでに私がつなぎ合わせた表現は以下の通りです。

(?=cow).*(?=milk)

しかし、これは文字列 "牛は常に与える" を返します。

解決方法は?

ルックアヘッド(その (?= の部分)は、いかなる入力も消費しない。それは ゼロ幅アサーション (境界チェックやルックビハインドと同様)。

ここでは、正規のマッチングを行いたい。 cow の部分です。その間の部分を捕捉するには、捕捉グループ(括弧の中に捕捉したいパターンの部分を入れるだけ)を使用する。

cow(.*)milk

ルックアヘッドは全く必要ありません。