使用regex_replace搜索和替换

时间:2019-04-03 08:25:57

标签: c++ regex stl boost-xpressive

我有一个要搜索的字符串

QString sObjectName = "looolok"

对“。?o”的regex_search导致3个匹配的文本,我将它们推到矢量matchText上

"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。 我想念什么?

0 个答案:

没有答案