В ваших группах используется жадное сопоставление, поэтому он будет собирать столько, сколько может, например, до <
для второй группы. Измените (.*)
части на (.*?)
, чтобы использовать собственническое сопоставление.
Здесь множество сообщений о том, почему вы не должны использовать регулярные выражения для анализа html. Есть много причин, почему ... например, что, если между a
и href
есть несколько пробелов и т. Д. Было бы идеально использовать инструмент, предназначенный для анализа html.