334さんではないですが、boost::regexの練習のつもりでいじってみました。
なんかほっとくとこのスレ下がっちゃうし。

 string s("<[email protected]>");
 boost::reg_expression<char> e("<([a-zA-Z@.]+)>");
 boost::match_results<const char*> r;

 if (boost::regex_search(s, r, e))
  s.replace(r.position(0), r.length(0), r.str(1));

 cout << s << endl;
---
<結果> [email protected]


おお。便利だ。

ところで334さんの意図してたのってこんな感じでいいんでしょかね?