web-dev-qa-db-ja.com

Sublime Text正規表現が複数行タグを検出しない

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

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

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

[sometag] here is more text

it spans more than one line [/sometag]

何らかの理由で、Sublime Textの正規表現Finderは複数行にわたるタグを認識しません。これがSublime Textの問題なのか、トグル可能なオプションなのか、それとも正規表現に対する個人的な無能さなのかを知りたい。

103
Maurdekye

開始時に、dotall修飾子(?s)を使用して、改行文字にも一致するようにドットを作成します。

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

DEMO

200
Avinash Raj

ドットのモードの変更が何らかの理由で許可されない場合は、次のようにすることができます。

[sometag](.|\n)+?[/sometag]
9
SynCap