正規表現の先読み/後読みで直近の文字列を対象にするようにしたい


## 実現したいこと

次のようなデーターがあるとします。

[code]

    foo<ほげほげ>bar<ふがふが>
    
[/code]

ここから「ほげほげ」の部分だけを抽出したいです。ご存知の方が入ればお手数ですが宜しくおねがいします。

## 試したこと

[code]

    echo "foo<ほげほげ>bar<ふがふが>" | grep -oP "(?<=foo<).*(?=>)"
    
[/code]

\--

[code]

    echo "foo<ほげほげ>bar<ふがふが>" | sed -r 's/^.*foo<(.*)>.*$/\1/'
    
[/code]

ですがどちらも「`ほげほげ>bar<ふがふが`」のように出力されてしまい、直近の閉じ括弧ではなく、同行の最後の閉じ括弧までを拾ってしまうようです。

