Как с помощью регулярного выражения матчить паттерн строки, если он встречается не более одного раза?

Сами строки состоят из n цифр, пробела, n букв

<p>1 test</p>
<p>222 test</p>
<p>333 test</p>

Матчится строка должна, если она встречается не более одного раза Моя регулярка матчит все строки:

(<p>\d*\s\w*</p>)(?!<p>\d*\s\w*</p>){1,}

https://regex101.com/r/fudrtm/1


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

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

Ну Вы и намудрили.

(?<=<p>)(.*)(?=</p>)

Создайте условие, которое проверяет количество найденных строк, если их больше одной, то идём дальше, если нет, то забираем одну.

→ Ссылка