次の形式で作成された大きなテキストブロックでテキスト領域をキャプチャしようとしています。
...
[region:region-name]
multi line
text block
[/region]
...
[region:another-region-name]
more
multi-line text
[/region]
私はこれをほぼ解決しました
\[region:(?'link'.*)\](?'text'(.|[\r\n])*)\[/region\]
これは、テキスト全体に1つの領域しかない場合に機能します。しかし、複数ある場合、これにより、他のすべての「領域」がその1つの「テキスト」に含まれる1つのブロックだけが得られます。これはネガティブな先読みを使用して解決する必要があると感じていますが、正規表現を使用する非プロであるため、上記を正しく変更する方法がわかりません。誰かが助けることができますか?