На исходной строке твоя регуляра дает неправильный результат - выхватывает
<span aria-hidden="true" class="line-numbers-rows"><span></span>
, а match.group(1) будет при этом равен
<span>
.
Произвольно вложенные теги ты не обработаешь регексом при всём желании.
Ну и помимо этого есть всякие маленькие приятности с открывающим/закрывающим тегом - он может оказаться внутри комментария, внутри значения атрибута, в CDATA, в теге script, и т.д. Эти мелочи можно закрыть регексом (очень большим регексом). А вот вложенные теги - нет.