C ++,正则表达式

时间:2015-11-05 06:52:11

标签: c++ regex qt

我知道如何在特定字符串中查找正则表达式。如何找到与正则表达式匹配的第一个元素?

这是我的代码:

QString mangledText;
QRegExp rx("string");
while ((pos = rx.indexIn(mangledText)) != -1){
 mangledText.replace(pos, rx.matchedLength(), "replaced string");      
}

我想替换第一个匹配结果(或第二个或第三个)而不是全部。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

  

我想替换第一个匹配结果而不是全部。

使用if代替while

if ((pos = rx.indexIn(mangledText)) != -1){
   mangledText.replace(pos, rx.matchedLength(), "replaced string");    
}