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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QRegExp  (Прочитано 4264 раз)
zodiac
Гость
« : Октябрь 04, 2007, 19:12 »

Имеется строка:
echo ("sss");
echo ("sss");
Имеется регексп:
QRegExp rx("^(.*);\\n");

Как мне брать по 1 echo ("sss"); ? А то регексп вовращает:
echo ("sss");
echo ("sss")
Записан
Tonal
Гость
« Ответ #1 : Октябрь 04, 2007, 19:51 »

QRegExp rx("^([^;]*);\\n");
Может всё таки проще тупо на строки побить?
Записан
zodiac
Гость
« Ответ #2 : Октябрь 04, 2007, 20:18 »

Щас из
echo ("sss");
echo ("sss");
Показывает только первую, что нормально. Но как получить вторую?
Записан
Icoz
Гость
« Ответ #3 : Октябрь 04, 2007, 21:56 »

Вместо \\n на конце поставь $. Вот так:
Код:
QRegExp rx("^([^;]*);$");
Записан
zodiac
Гость
« Ответ #4 : Октябрь 05, 2007, 12:58 »

Хм.. нет. У меня есть QTextEdit. Можно ли с него как-то по 1 линии вытаскивать?
Просто я делаю так:
   countline = 0;
   QRegExp rx("^([^\\n]*);\\n");
   int pos = 0;
   while ((pos = rx.indexIn(txt_in->toPlainText(), pos)) != -1)
   {
      ++countline;
      pos += rx.matchedLength();
      QMessageBox::information(0, "!!!", QString::number(pos));
   }
pos выводится 1 раз. даже если в TextEdit засунуть:
echo ("sssss");
echo ("wqqq");

Как быть?
Записан
zodiac
Гость
« Ответ #5 : Октябрь 05, 2007, 16:11 »

разобрался со всем и даже больше
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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