
Hello, I wish to determine the "start" and "length" of all the completed words in a string using Boost Regex For example I have a String "*Hello World and Google*" I would like to create a map like this... 1, 5 //First Character position and Length of Word "Hello" 7, 5 // First Character position and Length of Word World 14, 3 //First Character position and Length of Word "And" 18, 6 // First Character position and Length of Word "Google" This is the code I have written.. void CreateOffSetMap(std::string completeInStr) { std::map<int32, int32>OffSetMap; std::string escapeChar = "\\" ; std::string bChar = "b"; std::string dotChar = "."; std::string findWordInStr = escapeChar + bChar + dotChar + escapeChar + bChar; boost::regex regExpression(findWordInStr); boost::smatch what; std::string::const_iterator start = completeInStr.begin(); std::string::const_iterator end = completeInStr.end(); while (boost::regex_search(start, end, what, regExpression)) { int32 foundPos = what.position(); int32 foundLen = what.length(); int32 endOffSet = startOffSet + foundLen; std::string foundString(start + foundPos, start + foundPos + foundLen); OffSetMap[foundPos] = foundLen; start += foundPos + foundLen; } } But is not working correct as expected, Could Anyone tell me where I am doing wrong here ? Thanks in Advance Subhash