Мне нужно сопоставить полные абзацы HTML, содержащие текст в тройных фигурных скобках.
Вот мой входной HTML:
<p><strong>{{{Lorem ipsum dolor sit amet.</strong></p>
<p>Ut enim ad minim veniam.</p>
<p>Duis aute irure dolor}}}</p>
<p><em>Excepteur sint occaecat cupidatat non proident.</em></p>
<p><strong><em>Sed {{{ut perspiciatis unde omnis iste natus error.</em></strong><em> sit voluptatem accusantium doloremque laudantium.</em></p>
<p>Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet.}}}</p>
<p>Ut enim ad minima veniam, quis nostrum exercitationem.</p>
Следующие фрагменты должны совпадать:
<p><strong>{{{Lorem ipsum dolor sit amet.</strong></p>
<p>Ut enim ad minim veniam.</p>
<p>Duis aute irure dolor}}}</p>
и
<p><strong><em>Sed {{{ut perspiciatis unde omnis iste natus error.</em></strong><em> sit voluptatem accusantium doloremque laudantium.</em></p>
<p>Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet.}}}</p>
В настоящее время я пытаюсь использовать следующее регулярное выражение:
<p>.*?{{{.*?}}}<\/p>/gms
Очевидно, это не работает должным образом.
Вот пример Regex101: https://regex101.com/r/9NSMy3/2
Я знаю, что это не лучшая идея использовать регулярные выражения для анализа HTML, поэтому любые другие решения также высоко ценятся.