Название: проверка строчки на соответствие шаблона Отправлено: smilik от Март 04, 2015, 19:37 Добрый день!!!Есть строка и вот мне нужно проверить содержит ли она только цифры и точки.
Название: Re: проверка строчки на соответствие шаблона Отправлено: Igors от Март 04, 2015, 19:53 Ну щас начнется вакханалия с регуляркой :'(
Название: Re: проверка строчки на соответствие шаблона Отправлено: gil9red от Март 04, 2015, 20:28 Через регулярку проверить есть ли символы, который не цифры и не точка
Через цикл перебрать каждый символ строки и сравнивать вручную Название: Re: проверка строчки на соответствие шаблона Отправлено: smilik от Март 04, 2015, 21:07 спасибо, а без цикла никак да??
Название: Re: проверка строчки на соответствие шаблона Отправлено: Hrundel от Март 04, 2015, 21:31 Если это просто в QLineEdit вводится, то можно избавиться от всей свистопляски с регулярами и предопределить маску ввода.
Но если поле должно хавать любой ввод, то без регулярки не обойтись. Название: Re: проверка строчки на соответствие шаблона Отправлено: gil9red от Март 04, 2015, 23:58 спасибо, а без цикла никак да?? А что в нем такого страшного? :) Название: Re: проверка строчки на соответствие шаблона Отправлено: Fregloin от Март 05, 2015, 10:07 регулярные выражения в любом случае используют внутри себя циклы, так что без них никак.
Название: Re: проверка строчки на соответствие шаблона Отправлено: __Heaven__ от Март 05, 2015, 10:11 Строка - это массив. А обработка массивов в 99% случаев производится с помощью циклов. Так что не надо стесняться :)
Название: Re: проверка строчки на соответствие шаблона Отправлено: deMax от Март 05, 2015, 11:01 Если это просто в QLineEdit вводится, то можно избавиться от всей свистопляски с регулярами и предопределить маску ввода. Для QLineEdit регулярка самое то, подсвечивать красным когда не по шаблону и блокировать кнопку "ОК".Но если поле должно хавать любой ввод, то без регулярки не обойтись. спасибо, а без цикла никак да?? Как вы это себе представляете?Можете цикл через лямда функцию сделать, чтобы вид был "красивый" (на любителя). Название: Re: проверка строчки на соответствие шаблона Отправлено: Alexu007 от Март 05, 2015, 15:49 спасибо, а без цикла никак да?? Чё ж никак? Можно и без цикла:Код
и так далее до 256... шутка. Код
при ошибке возвращает х = 0.0, ok = false Название: Re: проверка строчки на соответствие шаблона Отправлено: deMax от Март 05, 2015, 16:29 Код и так далее до 256... шутка. В тяжелые циклы теоретически такое можно засунуть. Код при ошибке возвращает х = 0.0, ok = false Тут есть неплохой пример такого компонента http://qt-project.org/forums/viewthread/24785 Название: Re: проверка строчки на соответствие шаблона Отправлено: Igors от Март 05, 2015, 17:20 Код и так далее до 256... шутка. спасибо, а без цикла никак да?? Ну прям как-то "с придыханием" :) А там есть удобный isDigitКод
Название: Re: проверка строчки на соответствие шаблона Отправлено: kambala от Март 05, 2015, 21:37 Ну щас начнется вакханалия с регуляркой :'( абсолютно нормальное решение для современного времени. настоящая вакханалия начнется в велосипеде, когда надо будет проверить входную строку на "в начале то-то, дальше что-то, а заканчивается на такое".Название: Re: проверка строчки на соответствие шаблона Отправлено: PinkPanther от Март 05, 2015, 21:52 QRegExp exp("^[\\d\\.]*$"); - если строка может быть пустой, или
QRegExp exp("^[\\d\\.]+$"); - если должна содержать хоть один символ. Сама проверка exp.exactMatch(str); Название: Re: проверка строчки на соответствие шаблона Отправлено: kambala от Март 05, 2015, 22:12 точку можно не экранировать в [] ;)
Название: Re: проверка строчки на соответствие шаблона Отправлено: PinkPanther от Март 05, 2015, 22:32 точку можно не экранировать в [] ;) Точно. Можно сократить длину паттерна на 1-2 байта. ;) Название: Re: проверка строчки на соответствие шаблона Отправлено: Igors от Март 06, 2015, 10:29 абсолютно нормальное решение для современного времени. настоящая вакханалия начнется в велосипеде .. Не надо обижать велосипедистов, они создали все на чем пасутся другие :) Упражнения со строками - прекрасная тренировка логического мЫшления, когда ее (упорно) избегают - это выглядит подозрительно, он что, не может решить простую задачку? Словом, сомнительная "ориентация" :)Название: Re: проверка строчки на соответствие шаблона Отправлено: kambala от Март 06, 2015, 13:12 наверняка избегают потому, что думают, что есть готовое решение :)
|