[Regex] Search Substring with paranthesis

Hello, I have a string "(123) Hello" and I want to seach String (123) using boost::regex, Also I needed to do a full word search, so I added \b in the end. Here is my code std::string searchWord = "(123)"; searchWord += "\\" + "b"; // Step 1 boost::regex expression; expression.assign(searchWord); std::string completeStr = "(123) Hello (123)"; std::string::const_iterator start = completeStr.begin(); std::string::const_iterator end = completeStr.end(); boost::smatch what; while (boost::regex_search(start, end, what, expression)) { int32 foundPos = what.position(); int32 foundLen = what.length(); std::string foundString(start + foundPos, start + foundPos + foundLen); //This foundStr is 123, beacuse it finds a metacharacter in the seach expression // Perform some task with foundString start += foundPos + foundLen; } How Can I get (123) back and foundPos and foundLen as 0 and 5 respetively. I tried creating my search expression as /(123/), but it didn't worked. Also if I don't add \b in the search expression in Step 1, even in that case the foundStr is 123 but in that case, the match will be true even for (1234), which I don't want. I want to find full words only. Is there is any flag in boost::regex which can help me out or how can I perform my task. Thanks in advance Subhash

On Tue, Mar 15, 2011 at 1:06 PM, Roman Perepelitsa
2011/3/15 Subhash Nagre
Hello, I have a string "(123) Hello" and I want to seach String (123) using boost::regex, Also I needed to do a full word search, so I added \b in the end. Here is my code
std::string searchWord = "(123)";
Try "\\(123\\)". Roman Perepelitsa. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
std::string searchWord = "(\\N{left-parenthesis}123\\N{right-parenthesis})"; // searchWord += "\\b"; // Step 1
participants (3)
-
Kulti
-
Roman Perepelitsa
-
Subhash Nagre