Russian Qt Forum
Ноябрь 25, 2024, 19:43
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Вопрос по регулярным выражениям (QRegExp)
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Вопрос по регулярным выражениям (QRegExp) (Прочитано 10542 раз)
OS2
Самовар
Offline
Сообщений: 186
Вопрос по регулярным выражениям (QRegExp)
«
:
Май 06, 2009, 10:46 »
Всем доброго времени суток!
Знатоки, помогите написать регулярное выражение, для заполнения QLineEdit'а RGB значениями вида: 255,255,255
тоесть, чтобы была возможность ввода значений от 0, до 255 и разделенных между собой запятыми.
Всем заранее спасибо!
Записан
spirit
Гость
Re: Вопрос по регулярным выражениям (QRegExp)
«
Ответ #1 :
Май 06, 2009, 10:58 »
по идее так
[0-9]{1,3},[0-9]{1,3},[0-9]{1,3}
.
правда тут маленькая лажа: если вводить нули в одну из секций, то их можно ввести 3 штуки.
«
Последнее редактирование: Май 06, 2009, 11:00 от spirit
»
Записан
OS2
Самовар
Offline
Сообщений: 186
Re: Вопрос по регулярным выражениям (QRegExp)
«
Ответ #2 :
Май 06, 2009, 11:04 »
Нет, такое не подходит, потому что позволяет вводить значения > 255.
Сейчас я использую такое: \\b(([012]?\\d?\\d|2[0-4]\\d|25[0-5])\\,){2}([012]?\\d?\\d|2[0-4]\\d|25[0-5])\\b
но оно тоже разрешает ввод > 255, хотя и ограничено 299.
Записан
spirit
Гость
Re: Вопрос по регулярным выражениям (QRegExp)
«
Ответ #3 :
Май 06, 2009, 11:06 »
да, точно, я протупил.
Записан
Rcus
Гость
Re: Вопрос по регулярным выражениям (QRegExp)
«
Ответ #4 :
Май 06, 2009, 11:23 »
Цитата: xkcd
Всем стоять! Я знаю регулярные выражения!
^([0-9]|[1-9][0-9]|1(?:[0-9]){2}|2[0-4][0-9]|25[0-5]),([0-9]|[1-9][0-9]|1(?:[0-9]){2}|2[0-4][0-9]|25[0-5]),([0-9]|[1-9][0-9]|1(?:[0-9]){2}|2[0-4][0-9]|25[0-5])$
Если это выражение для QRegExpValidator, то не проще ли нормальный валидатор написать?
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
Re: Вопрос по регулярным выражениям (QRegExp)
«
Ответ #5 :
Май 06, 2009, 11:39 »
эээ
а у меня кажись попроще получилось
Цитировать
(\d+),(\d+),(\d+)
аа не то, вот то:
Цитировать
(\d{1,3}),(\d{1,3}),(\d{1,3})
«
Последнее редактирование: Май 06, 2009, 11:45 от Admin
»
Записан
spirit
Гость
Re: Вопрос по регулярным выражениям (QRegExp)
«
Ответ #6 :
Май 06, 2009, 11:41 »
Цитата: Admin от Май 06, 2009, 11:39
эээ
а у меня кажись попроще получилось
Цитировать
(\d+),(\d+),(\d+)
не, значения > 255 будут допускаться, да и к тому же в любую из триад можно ввести любое количество символов, а вот regexp Rcus'a работает как надо.
«
Последнее редактирование: Май 06, 2009, 11:43 от spirit
»
Записан
OS2
Самовар
Offline
Сообщений: 186
Re: Вопрос по регулярным выражениям (QRegExp)
«
Ответ #7 :
Май 06, 2009, 11:41 »
Спасибо
Rcus
такое выражение очень даже подходит.
Вот только возник вопрос, если в QLineEdit, к которому применино это регулярное выражение, введено например: 0,0,0
то, невозможно стереть 0, чтобы заменить его на любую другую цифру, приходится либо выделять этот 0 и вводить другое значение, либо писать рядом с 0 цифру и после этого удалять сам 0. Можно это как нибудь побороть?
ЗЫ:
Цитировать
Если это выражение для QRegExpValidator, то не проще ли нормальный валидатор написать?
именно для него, но с валидаторами я не знаком, а написать надо всего одну строку....
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
Re: Вопрос по регулярным выражениям (QRegExp)
«
Ответ #8 :
Май 06, 2009, 11:45 »
аа не то, вот то:
Цитировать
(\d{1,3}),(\d{1,3}),(\d{1,3})
Записан
OS2
Самовар
Offline
Сообщений: 186
Re: Вопрос по регулярным выражениям (QRegExp)
«
Ответ #9 :
Май 06, 2009, 11:50 »
Цитировать
аа не то, вот то:
Позволяет вводить значения > 255
Записан
spirit
Гость
Re: Вопрос по регулярным выражениям (QRegExp)
«
Ответ #10 :
Май 06, 2009, 11:52 »
Цитата: Admin от Май 06, 2009, 11:45
аа не то, вот то:
Цитировать
(\d{1,3}),(\d{1,3}),(\d{1,3})
тоже самое что и я написал
кроче, не катит
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
Re: Вопрос по регулярным выражениям (QRegExp)
«
Ответ #11 :
Май 06, 2009, 11:58 »
да не катит
нету в регекспах <> для int
Записан
OS2
Самовар
Offline
Сообщений: 186
Re: Вопрос по регулярным выражениям (QRegExp)
«
Ответ #12 :
Май 06, 2009, 20:02 »
А по этому поводу не у кого мыслей нету:
Цитировать
Вот только возник вопрос, если в QLineEdit, к которому применино это регулярное выражение, введено например: 0,0,0
то, невозможно стереть 0, чтобы заменить его на любую другую цифру, приходится либо выделять этот 0 и вводить другое значение, либо писать рядом с 0 цифру и после этого удалять сам 0. Можно это как нибудь побороть?
Записан
Rcus
Гость
Re: Вопрос по регулярным выражениям (QRegExp)
«
Ответ #13 :
Май 06, 2009, 20:11 »
Валидатор написать.
Записан
OS2
Самовар
Offline
Сообщений: 186
Re: Вопрос по регулярным выражениям (QRegExp)
«
Ответ #14 :
Май 06, 2009, 20:24 »
Цитата: Rcus от Май 06, 2009, 20:11
Валидатор написать.
А по подробней....
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...