QRegExp, как искать все совпадения в строке, (находит первый попавшийся) |
Здравствуйте, гость ( Вход | Регистрация )
QRegExp, как искать все совпадения в строке, (находит первый попавшийся) |
Litkevich Yuriy |
15.4.2008, 11:02
Сообщение
#1
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
мучаю пример от тролей
%QTDIR%\examples\tools\regexp в качестве входной строки пишу так: delta5 delta6 видит только первую половинку delta5 а что надо сделать, чтобы при том же, возможно, регулярном выражении находил и остальные соответствия? --- P.S. в регулярных выражения я есть зеро. Не отфутболивайте к книжкам, пожалуйста |
|
|
Tonal |
16.4.2008, 7:55
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
Искать дальше. :-)
Читай ассистента, http://www.crossplatform.ru/?q=node/216QRegExp, http://www.crossplatform.ru/documentation/...4.3/qregexp.php В ассистенте от 4.3.4 приводится хороший пример:
|
|
|
Litkevich Yuriy |
16.4.2008, 8:30
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
первая ссылка не работает, а по поводу асистента, все читать не хотелось, т.к. я скорее из праздного интереса.
мнеб понять как это в Qt'ях делается, где результаты он хранит и т.п. За пример спасибо. Я из него так понял, Tonal, поправь если неправильно: будет найдено первое соответсвие, т.е. его позиция в строке, и длина соответствия (кол-во символов), затем надо заставить QRegExp, подвинутся на найденое кол-во символов, чтобы он просмотрел дальше, и т.д. Непонял вот какую штуку:
почему 1, это же вроде соответствие под выражению в шаблоне, а 0 весь шаблон? Сообщение отредактировал Litkevich Yuriy - 16.4.2008, 8:35 |
|
|
Litkevich Yuriy |
16.4.2008, 9:12
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
у кода:
косячек неприятный, он прогу вешает, когда индекс =0 и длина =0 |
|
|
ViGOur |
16.4.2008, 9:57
Сообщение
#5
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
|
|
|
Litkevich Yuriy |
16.4.2008, 10:14
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
да интересно, спасибо
|
|
|
Tonal |
16.4.2008, 10:21
Сообщение
#7
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
у кода:
косячек неприятный, он прогу вешает, когда индекс =0 и длина =0 Т.е. твоё выражение может соответствовать 0 символов? Или правь выражение, или обрабатывай такой случай отдельным местом. Вполне возможно, поможет просто указание "жадного" режима повторителей QRegExp::RegExp2 (режим как в Perl, Python, PHP, JavaScript...) P.S. пройди курс на интуите по регэкспам - станет всё ясно. :-) Лучшая книга: "Регулярные выражения" Дж.Фридл |
|
|
Litkevich Yuriy |
16.4.2008, 10:28
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
я так сделал:
|
|
|
Dimix |
11.2.2011, 6:29
Сообщение
#9
|
Студент Группа: Участник Сообщений: 74 Регистрация: 24.11.2010 Пользователь №: 2215 Спасибо сказали: 0 раз(а) Репутация: 0 |
Друзья нужна Ваша помощь. Такая проблема есть QComboBox список клиентов ФИО (список весьма не маленький). Нужно сделать живой поиск чтобы введенный поисковый запрос отыскал все совпадения в QComboBox
Пример: QLineEdit => "ол"; QComboBox => ""; "Пупкин василий Николаевич"; "Ханей Ольга Викторовна" "Попенко Григорий Батькович" Нужно чтобы оно ставило на currentIndex() лучшее совпадение Как это сделать с помощью QRegExp? |
|
|
kwisp |
11.2.2011, 10:38
Сообщение
#10
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Dimix,
почему ты свой вопрос в эту тему написал? один вопрос одна тема! создавай новую, а тут я почищу. |
|
|
Текстовая версия | Сейчас: 30.12.2024, 21:19 |