Russian Qt Forum
Ноябрь 25, 2024, 11:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QRegExp — поиск всех вхождений  (Прочитано 2059 раз)
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]+);" );

Но почему-то она не шибко верные значения выдаёт.
« Последнее редактирование: Август 29, 2013, 15:39 от kefir500 » Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Август 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
Записан
kefir500
Гость
« Ответ #2 : Август 29, 2013, 15:54 »

Опа... Выходит, я всё верно делал за исключением получения найденных значений. Премного благодарен, Alex Custov, проблема решена, и в следующий я буду куда внимательнее курить мануалы.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.066 секунд. Запросов: 22.