木構造のものは、正規表現じゃ無理

1< 2< abc 3> 4>

2<からの最短マッチで、対応する3>を取れるけど、
1<からの最短マッチで、対応する4>を取れない。
3>にマッチしてしまうから

1< 2< 3< abc 4> 5> 6>

これでも、2<と5>をマッチさせられない。
最長・最短マッチでも、マッチしない

CSS セレクターを使う、jQuery, RubyのNokogiri などを使え。
これらの使い方は、ほぼ同じ