поиск и замена с помощью regex_replace - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть строка для поиска

QString sObjectName = "looolok"

regex_search для ".? O" приводит к 3 подобранным текстам, которые я помещаю в вектор matchedText

"lo" "oo" "lo"

Теперь ямой текст замены - «o», поэтому я ожидаю, что str будет изменен на

oook

Я использую boost xpressive regex_replace для этой операции.Это мой код

std::vector<QString>::iterator it = matchedText.begin();
wsregex regExp;
std::string strOut;
std::string::iterator itStr = strOut.begin(); ;
for( ; it != matchedText.end(); ++it )
 {
     regExp = wsregex::compile( (*it).toStdWString() );
     boost::xpressive::regex_replace( itStr, sObjectName.begin(), sObjectName.end(), regExp, qReplaceBy.toStdString(), regex_constants::format_perl );
 }

Однако strOut содержит ooook.Чего мне не хватает?

...