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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Определение позиции const в строке при помощи QRegExp  (Прочитано 3396 раз)
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}"); Кто знает, натолкните на мысль пожалуйста!
Записан
VAP
Гость
« Ответ #1 : Июль 14, 2009, 22:50 »

Прошу прощения за свою опечатку QRegExp rx("{0:0}"); В ассистенте вычитал про метод
int QRegExp::pos ( int nth = 0 ) const Приведен пример для текста. В таком случае наверное нужно изменить регулярное выражение для поиска?
Записан
ритт
Гость
« Ответ #2 : Июль 14, 2009, 23:08 »

!rtfm: QRegExp::indexIn
Записан
VAP
Гость
« Ответ #3 : Июль 14, 2009, 23:16 »

Спасибо Константин за подсказку! В таком случае поиск будет с конца?
Записан
VAP
Гость
« Ответ #4 : Июль 14, 2009, 23:29 »

QRegExp rx("({0:0}{0:[0-9]}{0:0}{0:[0-9]})"); Всегда возвращает позицию в -1. Наверное вся проблема в регулярном выражении...
Записан
ритт
Гость
« Ответ #5 : Июль 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
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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