Boost C++ regex - how to return all matches -


i have , string "solutionan ananana solutionbn" want return string start solution , end n.

while using regex boost::regex regex("solu(.*)n"); getting output solutionan ananana solutionbn.

while want out solutionan , solutionbn. new regex in boost appreciated. snippet if code using

#include <boost/regex.hpp> #include <iostream>  int main(int ac,char* av[]) {     std::string strtotal("solutionan ananana solutionbn");     boost::regex regex("solu(.*)n");      boost::sregex_token_iterator iter(strtotal.begin(), strtotal.end(), regex, 0);     boost::sregex_token_iterator end;      for( ; iter != end; ++iter ) {            std::cout<<*iter<<std::endl;     } } 

the problem * greedy. change using non-greedy version (note ?):

int main(int ac,char* av[]) {     std::string strtotal("solutionan ananana solutionbn");     boost::regex regex("solu(.*?)n");      boost::sregex_token_iterator iter(strtotal.begin(), strtotal.end(), regex, 0);     boost::sregex_token_iterator end;      for( ; iter != end; ++iter ) {            std::cout<<*iter<<std::endl;     } } 

Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -