Необходимо проверять строку на соответствие регулярному выражению, если соответствует - true, если нет - false. Пользуюсь вот такой конструкцией:
QRegExp valide_reg("\\-?\\d{1,}\\.?\\d{1,}");/*Проверяет, является строка числом с плавующей точкой*/
valide_reg.setPatternSyntax(QRegExp::Wildcard);
isCorrect = valide_reg.exactMatch("1.34");/*isCorrect равен false, хотя это не так*/
В чём моя ошибка (стоит отметить, что это регулярное выражение отлично работает с валидатором для ввода дробных чисел в программе)?
Согласно документации, QRegExp::Wildcard переводит QRegExp в урезанный режим, в котором распознаются только звёздочки и вопросительные знаки: file-*.???.
Ваше же выражение является Perl-совместимым; для него требуется QRegExp::RegExp. Хотя, учитывая, что этот режим установлен по умолчанию, строку valide_reg.setPatternSyntax() можно вообще убрать.
Продвижение своими сайтами как стратегия роста и независимости