boost::regex_replace кто-нибудь юзал?
#define BOOST_LIB_TOOLSET "vc7"
#include <string>
#include <iterator>
#include <boost/regex.hpp>
#include <iostream>
int main
{
std::string str = "Life is full of happiness\n";
boost::regex expr;
expr.assign("(happiness)|\\r");
std::string fmt;
fmt = "(shit)";
std::list<std::string>::iterator it;
std::ostream_iterator<char> out(std::cout);
boost::regex_replace(out, str.begin str.end expr, fmt, boost::match_default | boost::format_all);
std::cin >> str;
}
![](/images/graemlins/smile.gif)
спасибо
![](/images/graemlins/laugh.gif)
сейчас я над этим поразмышляю..
только что значит в "(happiness)|\\r" сочетание "|\\r"?
--
вопрос:
а если я хочу заменить такой текст:
"Life is full of happiness. Life is full of happinessA. Life is full of happinessB. ..."
и каждое счастье заменить на свое, то что для этого надо?
replace по циклу, сдвигая при этом итератор и снять флаг format_all, да?
expr = "(типа)|(вот так вот)|\\r";
fmt = "(все заменяетсяфигней)";
- модификатор для match regex
![](/images/graemlins/blush.gif)
это ответ на сколько из моих вопросов?
![](/images/graemlins/smile.gif)
Подаёшь строчку, итератор, и всё.
Оставить комментарий
migel
как-то у них очень фигово и неподробно описана в документации эта часть (не в пример остальным =( )неохото долго над этим голову ломать. - мне нужно-то всего заменить по шаблону "re1(aaa)re2" заменить ааа на bbb.
Может кто использовал - запостите плиз кусок кода с ней, или подскажите как сделать замену описанную выше.