PCre2grep 複数行正規表現

PCre2grep 複数行正規表現

テキストファイルの最初のHTMLに一致する正規表現を作成しようとしています。

garbage
garbage
§<html class="test1">
<div>test</div></html>§
garbage
garbage
§<html class="test2>
<div>test</div></html>§
garbage
garbage
§<html class="test3">
<div>test</div></html>§
garbage
garbage

まず、regex101.comでこのようなことを試しました。

<html.*?html>

PCRE2とシングルワイヤモードを使用すると正常に動作します。その後、「dot match new line」オプションが有効なNotepad ++を使用してWindowsで試してみましたが、そこでもうまくいきました。

これで、Arch Linuxでpcre2grepを使用して同じことを試みて、次の正規表現を試しました。

pcre2grep -o '(?s)<html.*?html>' test.txt

しかし、うまくいかず、なぜ「(?s)」修飾子がPCRE2_DOTALLを有効にするのかわかりません。 pcre2grepを使って同等の正規表現をどのように作成できますか?

ベストアンサー1

おすすめ記事