Sublime Text 正規表現が複数行のタグを検出しない 質問する

Sublime Text 正規表現が複数行のタグを検出しない 質問する

ここにこの正規表現があります。

\[sometag\](.*)\[/sometag\]

これは、タグで囲まれたテキストをキャッチするはずです[sometag]。文字列 のように、これらのタグに含まれる 1 行の情報に対しては機能します[sometag]this is a bit of text[/sometag]。ただし、次のように複数行にまたがるテキストでは機能しません。

[sometag] here is more text

it spans more than one line [/sometag]

何らかの理由で、Sublime Text の正規表現ファインダーは複数行にわたるタグを認識しません。これが Sublime Text の問題なのか、切り替え可能なオプションなのか、それとも単に私が正規表現に不慣れなだけなのかを知りたいです。

ベストアンサー1

最初に、dotall 修飾子を使用して(?s)、ドットが改行文字にも一致するようにします。

(?s)\[sometag\](.*?)\[\/sometag\]

デモ

おすすめ記事