Russian Qt Forum

Qt => Общие вопросы => Тема начата: homa9999 от Ноябрь 16, 2004, 00:29



Название: Класс QRegExp?
Отправлено: homa9999 от Ноябрь 16, 2004, 00:29
Здраствуйте!
Кто может мне растолковать что такое QRegExp, как работать с нем можно.Что писать?

QRegExp regex( "^\\s*(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\S+.*)$" );

Помогите разобрать это --"^\\s*(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\S+.*)$"   . Что это значит?
Спасибо.


Название: Re: Класс QRegExp?
Отправлено: malyarov от Ноябрь 16, 2004, 06:56
Цитата: "homa9999"
Здраствуйте!
Кто может мне растолковать что такое QRegExp, как работать с нем можно.Что писать?

QRegExp regex( "^\\s*(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\S+.*)$" );

Помогите разобрать это --"^\\s*(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\S+.*)$"   . Что это значит?
Спасибо.

Рекомендую: http://www.rsdn.ru/article/alg/regular.xml


Название: Класс QRegExp?
Отправлено: Zmey от Ноябрь 16, 2004, 09:18
Еще вот ссылочка ftp://files.zipsites.ru/books/programming/OReilly_misc/O'Reilly%20-%20Mastering%20Regular%20Expressions.pdf
Сам я ее не качал, 6 МБ, скорость низковата, но если хочешь позырь, может поможет.


Название: Класс QRegExp?
Отправлено: 999 от Ноябрь 09, 2005, 00:20
Мне нужно составить регулярное выражение, которые будет разделять заданную строку следующим образом: в качестве разделителя используется пробел, однако если какая-либо часть выражения заключена в кавычки, то эта часть не разделяется, даже если внутри есть проблемы.
Я пытаюсь использовать класс QRegExp (от Qt4), но не могу правильно составить требуемое выражение.
Может ли кто-нибудь помочь?

Заранее большое спасибо!


Название: Класс QRegExp?
Отправлено: burunduk от Ноябрь 09, 2005, 12:08
Код:

  QString data = "заданная строка";
  QRegExp exp("((\\\"([\\w,\\s]+)\\\")|(\\b\\w+\\b))");  
  int pos = 0;
  QStringList list;
  while((pos = exp.indexIn(data, pos)) != -1) {
    list << exp.cap(1);
    pos += exp.matchedLength();
  }  



Цитата: "999"
Мне нужно составить регулярное выражение, которые будет разделять заданную строку следующим образом: в качестве разделителя используется пробел, однако если какая-либо часть выражения заключена в кавычки, то эта часть не разделяется, даже если внутри есть проблемы.
Я пытаюсь использовать класс QRegExp (от Qt4), но не могу правильно составить требуемое выражение.
Может ли кто-нибудь помочь?

Заранее большое спасибо!