[解決済み] Regex 2つの文字列間のすべての文字にマッチする
2022-03-16 18:17:58
質問
例 This is justna simple sentence".
This is"と"sentence"の間のすべての文字にマッチさせたいのです。改行は無視されるはずです。正しい構文がわかりません。
どのように解決するのですか?
例えば
(?<=This is)(.*)(?=sentence)
lookbehindを使用しました。
(?<=)
とルックアヘッド
(?=)
というように、quot;This is" と "sentence" が一致しないようにしますが、これはユースケース次第で、単に次のように記述することもできます。
This is(.*)sentence
.
ここで重要なのは、正規表現エンジンの "dotall" モードを有効にすることです。
.
が改行と一致します。しかし、これをどのように行うかは、お使いの正規表現エンジンによって異なります。
次に、もしあなたが
.*
または
.*?
. 最初のものは貪欲で、文字列の最後の "sentence" までマッチし、2番目のものは怠惰で、文字列の次の "sentence" までマッチするようになります。
更新
This is(?s)(.*)sentence
ここで、(?s)はdotall修飾子をオンにすることで、?
.
は改行文字と一致する。
アップデート2
(?<=is \()(.*?)(?=\s*\))
は、例の "This is (a simple) sentence" と一致していますね。についてはこちらをご覧ください。 Regexr
関連
-
[解決済み] 正規表現で変数を使うには?
-
[解決済み] (grep) 非 ASCII 文字にマッチする正規表現ですか?
-
[解決済み] XHTMLの自己完結型タグを除くオープンタグにマッチするRegEx
-
[解決済み] 正規表現で「この文字列までなら何でもあり」にマッチさせるには?
-
[解決済み] 正規表現の全出現回数をマッチングさせる方法
-
[解決済み] Sublime Text 2での正規表現検索置換
-
[解決済み] 2文字の間に含まれる文字列を、区切り文字を除いて検索する正規表現
-
[解決済み】MySQLで正規表現による置換を行うには?
-
[解決済み】ASCII以外の文字をすべてgrepする方法とは?
-
[解決済み】Java Regexのmatches()とfind()の違いについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン