Qt 正則表達式取值

精確匹配:

void testQRegex(){
    QRegExp reg("aaa=(\\d+)");
    QString in = "aaa=11";
    bool result = reg.exactMatch(in);
    logDebug() << result;
    if(result){
        logDebug() << reg.cap(1);
    }

}
testQRegex ( ../qt-training/main.cpp : 43 ) true

testQRegex ( ../qt-training/main.cpp : 45 ) "11"

循環遍歷:

void testQRegex2(){
    QRegExp rx("(\\d+)");
    QString str = "Offsets: 12 14 99 231 7";
    QStringList list;
    int pos = 0;

    while ((pos = rx.indexIn(str, pos)) != -1) {
        list << rx.cap(1);
        pos += rx.matchedLength();
    }
    logDebug() << list;
}
testQRegex2 ( ../qt-training/main.cpp : 60 ) ("12", "14", "99", "231", "7")

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章