Qt中使用正則表示式提取字串中浮點數
阿新 • • 發佈:2020-12-31
技術標籤:QT學習之路
正則表示式: "-?(([1-9]\\d*\\.\\d*)|(0\\.\\d*[1-9]\\d*)|([1-9]\\d*))"
QString data = "12.31 next 37.21"; QRegExp rx("-?(([1-9]\\d*\\.\\d*)|(0\\.\\d*[1-9]\\d*)|([1-9]\\d*))"); int p = 0; qDebug() << "begin"; QStringList data_list; while ((p = rx.indexIn(data, p)) != -1) { data_list.append(rx.cap(1)); p += rx.matchedLength(); // 上一個匹配的字串的長度 } qDebug() << data_list; qDebug() << "end";
輸出結果