0

我有一个要搜索的字符串

QString sObjectName = "looolok"

".?o" 的 regex_search 会产生 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。我错过了什么?

4

0 回答 0