正規表現 2つの文字列間のすべての文字を一致させる 質問する

正規表現 2つの文字列間のすべての文字を一致させる 質問する

例:This is just\na simple sentence

This isとの間のすべての文字を一致させたいですsentence。改行は無視する必要があります。正しい構文がわかりません。

ベストアンサー1

例えば

(?<=This is)(.*)(?=sentence)

正規表現

私は lookbehind(?<=)と look ahead を使って(?=)、「This is」と「sentence」が一致に含まれないようにしましたが、これはユースケース次第で、単に と書くこともできますThis is(.*)sentence

ここで重要なのは、正規表現エンジンの「dotall」モードを有効にして、.改行文字と一致させることです。ただし、これを行う方法は、正規表現エンジンによって異なります。

次に、.*または を使用する場合です.*?。最初のものは貪欲であり、文字列の最後の「文」まで一致します。2 番目は遅延であり、文字列の次の「文」まで一致します。

アップデート

正規表現

This is(?s)(.*)sentence

ここで、(?s) はドットオール修飾子をオンにし、.一致するものを改行文字にします。

アップデート2:

(?<=is \()(.*?)(?=\s*\))

あなたの例「これは(簡単な)文です」と一致しています。ここを参照してください正規表現

おすすめ記事