Russian Qt Forum

Qt => Общие вопросы => Тема начата: VAP от Июль 14, 2009, 22:27



Название: Определение позиции const в строке при помощи QRegExp
Отправлено: VAP от Июль 14, 2009, 22:27
Доброго времени суток!
Имеется строка вида: 0:0  0:10:0  0:3. Нужно определить позицию первого и втророго 0:00, при этом 0:1 и 0:3 могут меняться после : в количестве знаков от 1 до 2-х (допустимые значения 0-9). Первое, что пришло в голову использовать QRegExp. Позицию первого 0:00 определяю методом indexOf(), а как определить позицию второго 0:00?
Использую регулярное выражение для поиска QRegExp rx("{0:00}"); Кто знает, натолкните на мысль пожалуйста!


Название: Re: Определение позиции const в строке при помощи QRegExp
Отправлено: VAP от Июль 14, 2009, 22:50
Прошу прощения за свою опечатку QRegExp rx("{0:0}"); В ассистенте вычитал про метод
int QRegExp::pos ( int nth = 0 ) const Приведен пример для текста. В таком случае наверное нужно изменить регулярное выражение для поиска?


Название: Re: Определение позиции const в строке при помощи QRegExp
Отправлено: ритт от Июль 14, 2009, 23:08
!rtfm: QRegExp::indexIn


Название: Re: Определение позиции const в строке при помощи QRegExp
Отправлено: VAP от Июль 14, 2009, 23:16
Спасибо Константин за подсказку! В таком случае поиск будет с конца?


Название: Re: Определение позиции const в строке при помощи QRegExp
Отправлено: VAP от Июль 14, 2009, 23:29
QRegExp rx("({0:0}{0:[0-9]}{0:0}{0:[0-9]})"); Всегда возвращает позицию в -1. Наверное вся проблема в регулярном выражении...


Название: Re: Определение позиции const в строке при помощи QRegExp
Отправлено: ритт от Июль 15, 2009, 01:46
> Спасибо Константин за подсказку! В таком случае поиск будет с конца?
Цитировать
Attempts to find a match in str from position offset (0 by default). If offset is -1, the search starts at the last character; if -2, at the next to last character; etc.

> QRegExp rx("({0:0}{0:[0-9]}{0:0}{0:[0-9]})"); Всегда возвращает позицию в -1.
!rtfm: QRegExp
sub: syntax