Hi ,As described here : http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/d3d5ead8-f5a3-4b59-9d7b-5ba8c4f0ef01 I noticed a different behavior on some regular expressions betsween vs2008 sp1 and vs 2010.With the following small test case :const char *test = "TESTONE<TESTTWO<<TESTTHREE<TESTFOUR<<<";char buf[4000];memset(buf,0,4000);std::string l_fmt(""); std::tr1::regex l_regular_expression; l_regular_expression = "^(([A-Z])|([A-Z]<[A-Z])){1,50}<<"; std::tr1::regex_constants::match_flag_type fonly = std::tr1::regex_constants::format_first_only; *std::tr1::regex_replace(buf, test, test + strlen(test) , l_regular_expression,l_fmt,fonly) = '\0'; in vs 20008 buf will contain :TESTTHREE<TESTFOUR<<<in vs 2010 buff will contain TESTONE<TESTTWO<<TESTTHREE<TESTFOUR<<< , so that nothing is replaced.Could anybody explain me which one is rightRegards , Sasha
Product Language
Visual Studio Version
Operating System
Operating System Language
Steps to Reproduce
Actual Results
Expected Results