That shouldn't be the case - I don't see that behaviour here anyway - note that this is obsolete code anyway, is there any way you can upgrade to 1.32?
If you want me to investigate further can you
1) reproduce the behaviour with 1.32. 2) Let me have a reproducible test case. 3) Check that it's not a call to std::distance that seeking the iterator to the end (it shouldn't be).
Hi, Thank you for your helpful email. I have downloaded Boost 1.32 from sourceforge and installed it. The behaviour of the program under Boost 1.32 is what I expected and what I wanted i.e. regex_search no longer seeks to the end of the iterator before returning the first match. So, problem solved. I have a test program (132 lines) which demonstrates this problem, and shows that 'almost' the same code produces different results under Boost 1.32 and Boost 1.30 (The almost is ... #ifdef BOOST_VERSION_1.30 boost::regex::flag_type flags = #else boost::regex_constants::match_flag_type flags = #endif ) If this is of interest I can post the test program to the list. Thanks, David