サンプルの動作確認バージョン [GCC4.4/1.41.0] [VC9/1.41.0]
#include <iostream>
#include <string>
#include <boost/regex.hpp>
using namespace std;
int main()
{
	// <で始まって>で終わる文字列にマッチする正規表現で検索
	boost::regex  r( "<[^>]+>" );
	boost::smatch m;
	string str1 = "The HTML tag <title> means that ...";
	if( boost::regex_search(str1, m, r) )
	{
		cout << "found (pos=" << m.position() << ")" << endl;
		cout << " ==> " << m.str() << endl;
	}
	// マッチした部分を、前後に#を付けた文字列で置換する
	boost::regex r2( "A([1-9]*|[a-z]*)A" );
	string str2 = "A123A AaaaA A3b3A A9A";
	{
		cout <<
			boost::regex_replace(
			  str2, r2, "#$0#", boost::format_all )
		<< endl;
	}
	return 0;
}
found (pos=13) ==> <title> #A123A# #AaaaA# A3b3A #A9A#
このコンポーネントを使うためだけにboostを導入する、 という方もおそらく相当多いのではないかと思います。
		標準の strstr 関数や std::string::find
		では、完全にピッタリと一致する部分を探すことはできても、
		「tで始まる単語」みたいな幅のある検索をすることは、
		当たり前ですが出来ません。その辺りの強力な文字列処理をしたい時には、
		各種スクリプト言語や、最近ではJavaなどでも正式にサポートされている
		「正規表現」が必須となってきます。その機能を実装したのがこのライブラリ。
		慣れるとかなり便利です。
	
このライブラリは、Boost 1.31 でクラス名や関数名を中心に、 大幅な変更が加えられました。旧バージョンを使用されていた方は注意が必要です。
		旧バージョンベースの解説ですが、Boost.Regexの詳細記事としては、
		επιστημη氏による次のページがGoodです。(reg_expression
		の代わりに basic_regex としておけば、
		だいたいのサンプルは動くみたいです。)
	
あと、Boostにはもう一つ別の新しい正規表現ライブラリ Xpressive があります。
また、Boost.Regex のインターフェイスを基本的に踏襲した形で、標準ライブラリ拡張案 TR1 に正規表現が実装されています。最新のC++コンパイラではTR1の正規表現も使用可能です。
