Russian Qt Forum

Qt => Вопросы новичков => Тема начата: kefir500 от Август 29, 2013, 15:22



Название: QRegExp — поиск всех вхождений
Отправлено: kefir500 от Август 29, 2013, 15:22
Добрый день. Имеется следующего вида html (привожу упрощенный вариант):
Код:
<td><b>Value: </b>0;</td>
<td><b>Value: </b>19;</td>
<td><b>Value: </b>23;</td>

Вопрос: какое регулярное выражение поможет получить значения — 0, 19 и 23?
Пытался использовать следующую регулярку:
Код:
QRegExp rx( "<b>Value: </b>([0-9]+);" );

Но почему-то она не шибко верные значения выдаёт.


Название: Re: QRegExp — поиск всех вхождений
Отправлено: Alex Custov от Август 29, 2013, 15:45
почему?

Код
C++ (Qt)
   QString sk = "<td><b>Value: </b>0;</td>"
               "<td><b>Value: </b>19;</td>"
               "<td><b>Value: </b>23;</td>";
 
   QRegExp rx("<b>Value: </b>([0-9]+);");
 
   int pos = 0;
 
   while((pos = rx.indexIn(sk, pos)) != -1)
   {
       pos += rx.matchedLength();
       qDebug() << rx.cap(1);
   }
 

Цитировать
0
19
23


Название: Re: QRegExp — поиск всех вхождений
Отправлено: kefir500 от Август 29, 2013, 15:54
Опа... Выходит, я всё верно делал за исключением получения найденных значений. Премного благодарен, Alex Custov, проблема решена, и в следующий я буду куда внимательнее курить мануалы.