>52
正規表現に最小のマッチングというのがある。
調べてみ。

それよりも"<B>hoge<B>hage</B>hige</B>"という文字列だったらどういう処理にするつもり?
それによってかなりやり方が変わるから。