C++Builder相談室 Part16
■ このスレッドは過去ログ倉庫に格納されています
0095デフォルトの名無しさん
2006/03/05(日) 23:06:15BCB6と、boost1.33.1の正規表現ライブラリを利用したプログラムを組んでいます。
struct print_submatch {
bool operator ()(const boost::match_results<std::string::const_iterator>& m) {
cout << m.str(0) << endl;
return true;
}
};
int main()
{
// "o"を含む単語にマッチする単語を正規表現で検索
boost::regex r( "([a-zA-Z]*).o.([a-zA-Z]*)" );
string str1 = "A quick brown fox jumps over the lazy dogs.";
boost::regex_grep( print_submatch(), str1, r );
return 0;
}
とやると、結果が
brown
fox
jumps over
dogs
となってしまいます。
jumps over ではなく、 over だけ帰ってきてほしいのですが・・・。
boostの[a-zA-Z]*って空白文字にもマッチするバグでもあるんでしょうか?
(\b|[a-zA-Z]*).o.([a-zA-Z]*|\b)とやっても結果は改善されず。
誰か解決法をご存知でしたら、教えてください。
■ このスレッドは過去ログ倉庫に格納されています