Вы попросили вернуть значение группы захвата # 1 с помощью .captured(1)
, но в вашем регулярном выражении не определены группы захвата.
Вы можете использовать
QRegularExpression rx("[1-9][0-9]*");
QRegularExpressionMatchIterator i = rx.globalMatch(str );
if (i.hasNext())
{
QRegularExpressionMatch match = i.next();
QString word = match.captured(0); // <<< SEE HERE
quint32 myNum = word.toUInt();
}
Группа 0
является полным совпадением.
Кроме того, шаблон, подобный [1-9]+
, не будет соответствовать 10
или 200
, поэтому я предлагаю использовать [1-9][0-9]*
: a не 0 di git, за которым следуют 0 или более цифр.