QT - 正则表达式

匿名 (未验证) 提交于 2019-12-03 00:22:01

一、提取字符串

    QString str = "Hello 123321 world 12313 !";     QRegExp rx(R"""([\d]+)""");     int pos = 0;     while((pos = rx.indexIn(str,pos)) != -1){         QStringList list = rx.capturedTexts();         pos += rx.matchedLength();         qDebug() << list;     }

结果为:

("123321") ("12313")

二、替换字符串

1、普通正则替换

    QString str = "Hello 123321=a world 12313=b !";     QRegExp rx(R"""([\d]+)""");     QString newStr = str.replace(rx,"number");     qDebug() << newStr;

结果为:

"Hello number=a world number=b !"

2、占位符替换

    QString str = "Hello 123321=a world 12313=b !";     QRegExp rx(R"""(([\d]+)=([\w]))""");     QString newStr = str.replace(rx,R"""(\1\2=\2)""");     qDebug() << newStr;

结果为:

"Hello 123321a=a world 12313b=b !"








文章来源: QT - 正则表达式
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!