1. ホーム
  2. regex

[解決済み] Sublime Textの正規表現で複数行のタグが検出されない

2022-05-11 04:34:31

質問

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

\[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の問題なのか、切り替え可能なオプションなのか、それとも単に私が正規表現に不得手なだけなのかを知りたいのです。

解決方法は?

冒頭で、dotall修飾子を使用します。 (?s) を使用すると、改行文字にもドットがマッチするようになります。

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

DEMO