Подскажите, как мне из строки получить все пары тегов с текстом внутри?
Имеем например такую строку:
<b>Ключ <br> 1:</b>Значение 1<br><b>Ключ 2:</b>Значение 2<br><b>Ключ 3:</b>Значение 3<br><b>Ключ 4:</b>Значение 4<br>
Мне нужно достать изнутри все вхождения:
<b>Ключ <br> 1:</b>
<b>Ключ 2:</b>
<b>Ключ 3:</b>
<b>Ключ 4:</b>
Пробую такой паттерн:
<(a|p|b)>.*<\/\1>
...пробую такой:
<(a|p|b)>[^\1]+<\/\1>
... оно мне выцепляет от самого первого тега
b до последнего.
Если расставлены разрывы строки — вот так:
<b>Ключ <br> 1:</b>Значение 1<br>
<b>Ключ 2:</b>Значение 2<br>
<b>Ключ 3:</b>Значение 3<br>
<b>Ключ 4:</b>Значение 4<br>
тогда паттерн
<(a|p|b)>.*<\/\1>
получает нужные пары, а если исходный текст сплошняком — нет.
Подскажите, как поступить?