Тема: QT Регулярні вирази "Цілі числа і числа з плаваючою точкою"

ui->lineEditPackaging->setValidator(new QRegExpValidator(QRegExp("Тут регулярний вираз")));
Невдалі спроби...

^([1-9]\d+(\,|\.)?\d+)$
Це саме краще що поки що в мене вийшло
Цей вираз не виконує дві вимоги
1) Не має бути цифр більше 9 ({1,9} - в даному випадеку не допомагає)
2) Кому або крапку можна ставити і після першого число

Вимоги до регулярного виразу
1) Перша цифра має бути більша ніж 0 [1-9]
2) Всього цифр може бути 9
3) Можна ставити один знак коми або крапки (\,|\.)?

2 Востаннє редагувалося ADR (31.05.2016 22:03:12)

Re: QT Регулярні вирази "Цілі числа і числа з плаваючою точкою"

Вроді так: ^\d{1,9}$|^(?=\d+[.,]\d+$).{3,10}$  (Тест: https://www.debuggex.com/r/hVYTnacnnl0eiThb )

Джерело:
http://stackoverflow.com/questions/2347 … separators

Подякували: Betterthanyou, leofun012

3

Re: QT Регулярні вирази "Цілі числа і числа з плаваючою точкою"

Тепер працює, але й прийшлося добавити ^[1-9]$| бо можна було вводити 0

^[1-9]$|^\d{2,9}$|^(?=\d+[.,]\d+$).{3,10}$