crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QRegExp, как искать все совпадения в строке, (находит первый попавшийся)
Litkevich Yuriy
  опции профиля:
сообщение 15.4.2008, 11:02
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


мучаю пример от тролей
%QTDIR%\examples\tools\regexp
в качестве входной строки пишу так:
delta5 delta6
видит только первую половинку
delta5
а что надо сделать, чтобы при том же, возможно, регулярном выражении находил и остальные соответствия?

---
P.S. в регулярных выражения я есть зеро. Не отфутболивайте к книжкам, пожалуйста :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 16.4.2008, 10:28
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


я так сделал:
int pos = 0;
int mch = 0;
while (pos >= 0)
{
    pos = rx.indexIn(text, pos);
    outtext->append(rx.cap(0));
    //list << rx.cap(0);
    mch = rx.matchedLength();
    /*
    QMessageBox::information(this, tr("Слот"),
                                tr("Мы в слоте\r\n")+QString("pos=%1, mach=%2").arg(pos).arg(mch),
                                QMessageBox::Ok);
    */
    pos += mch;
    if (!pos) break;
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 21.12.2024, 21:38