From 2e64b9d2f7997496462dd77b97573758630ff3fe Mon Sep 17 00:00:00 2001 From: "evgenii.tagiltsev" <tagiltsev.evgenii@gmail.com> Date: Fri, 11 Oct 2019 14:19:01 +0200 Subject: [PATCH] [*] changed parsing regexp --- .../DapChainHistoryHandler.cpp | 18 ++++++++++++------ .../DapChainHistoryHandler.h | 1 + 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/CellFrameDashboardService/DapChainHistoryHandler.cpp b/CellFrameDashboardService/DapChainHistoryHandler.cpp index 136e348..71c10a7 100644 --- a/CellFrameDashboardService/DapChainHistoryHandler.cpp +++ b/CellFrameDashboardService/DapChainHistoryHandler.cpp @@ -29,14 +29,20 @@ void DapChainHistoryHandler::onRequestNewHistory(const QMap<QString, QVariant>& if(!result.isEmpty()) { - QRegExp rx("((\\w{3}\\s+){2}\\d{1,2}\\s+(\\d{1,2}:*){3}\\s+\\d{4})\\s+(\\w+)\\s+(\\d+)\\s(\\w+)\\s+\\w+\\s+([\\w\\d]+)"); - - int pos = 0; - while ((pos = rx.indexIn(result, pos)) != -1) + QRegularExpression regular("((\\w{3}\\s+){2}\\d{1,2}\\s+(\\d{1,2}:*){3}\\s+\\d{4})\\s+(\\w+)\\s+(\\d+)\\s(\\w+)\\s+\\w+\\s+([\\w\\d]+)", QRegularExpression::MultilineOption); + QRegularExpressionMatchIterator matchItr = regular.globalMatch(result); + while (matchItr.hasNext()) { - QStringList dataItem = QStringList() << rx.cap(1) << QString::number(DapTransactionStatusConvertor::getStatusByShort(rx.cap(4))) << rx.cap(5) << rx.cap(6) << rx.cap(7) << wallets.at(i).toString(); + QRegularExpressionMatch match = matchItr.next(); + QStringList dataItem = QStringList() + << match.captured(1) + << QString::number(DapTransactionStatusConvertor::getStatusByShort(match.captured(4))) + << match.captured(5) + << match.captured(6) + << match.captured(7) + << wallets.at(i).toString(); data << dataItem; - pos += rx.matchedLength(); + } } } diff --git a/CellFrameDashboardService/DapChainHistoryHandler.h b/CellFrameDashboardService/DapChainHistoryHandler.h index 6b56f6e..61b45df 100644 --- a/CellFrameDashboardService/DapChainHistoryHandler.h +++ b/CellFrameDashboardService/DapChainHistoryHandler.h @@ -8,6 +8,7 @@ #include <QProcess> #include <QDebug> #include <QList> +#include <QRegularExpression> #include "DapHistoryType.h" -- GitLab