Вырезать один абзац, содержащий фразу

Подскажите как правильно составить регулярное выражение, чтоб из кучи html кода вырезать только один абзац, содержащий определенную фразу. Пример кода:

<p>Один</p><br /><span>Два</span><p>один два Три четыре</p><p>Пять</p>

Регулярное выражение

/<p>(.*?)Три(.*?)<\/p>/U

Проблема в том, что находит и вырезает с первого по последний абзац, а необходимо вырезать только

<p>один два Три четыре</p>

Итог должен быть таким:

<p>Один</p><br /><span>Два</span><p>Пять</p>

Ответы (1 шт):

Автор решения: dIm0n

Вот так вот:

<p>((?!<\/p>).)*Три.*?<\/p>

Тест https://regexr.com/5aqc6

<p>Один</p><br /><span>Два</span><p>один два Три четыре</p><p>Пять</p>

→ Ссылка