crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
GreenBall
  опции профиля:
сообщение 8.1.2011, 18:18
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 1
Регистрация: 8.1.2011
Пользователь №: 2334

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




Репутация:   0  


Здравствуйте,

Пишу клиент imap. Хочу написать обработчик ответов сервера через регулярные выражения.
С самими регулярными выражениями вроде бы вник в суть. Но проблема теперь с Qt. Код следующий:

regExp.setPattern("/^\\* OK (\\S+) ready for requests from (\\S+) (.*)$/");
validator.setRegExp(regExp);
pos = 0;

if(validator.validate(msg, pos) == QValidator::Acceptable)
{
    _state = not_authenticated;
    ui->statusBar->showMessage(QString("Соединение с %1 установлено.").arg(_hostName));
}



Проверил на всякий случай правильно ли составлено выражение на http://regexpr.ru/
Составлено правильно. Но при запуске программы он не попадает в if, условие не выполняется.
Пробовал в проверке писать QValidator::Intermediate - то же не выполняется, хотя по идеи должен QValidator::Acceptable выполняться. Посмотрел в справке пвроде все так же...

сервер посылает следующие:
* OK Gimap ready for requests from 95.27.138.68 j12if11926156fax.75

Все.. Вообщем я понял, оказывается в кути не надо ставить "/" в начале и в конце, без них все заработало.
http://qt-apps.org/CONTENT/content-files/79791-rep.zip спосебо этой программе, в ней только заметил)

Вообщем если у кого похожие проблемы убирайте "/" :rolleyes:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 3.7.2025, 23:02