Действительные токены регулярного выражения зависят от реализации. Общей формой является:
[0-9]+(\.[0-9][0-9]?)?
Более компактный:
\d+(\.\d{1,2})?
Оба предполагают, что оба имеют по крайней мере одну цифру до и одну после десятичной точки.
Чтобы потребовать, чтобы вся строка представляла собой номер этой формы, оберните выражение в начальный и конечный теги, например (в форме Perl):
^\d+(\.\d{1,2})?$
Чтобы сопоставить числа без первой цифры перед десятичной дробью ( .12) и целыми числами, имеющими конечный период ( 12.), исключая ввод одного периода ( .), попробуйте следующее:
^(\d+(\.\d{0,2})?|\.?\d{1,2})$
добавленной
Завершение дробной части, ()?чтобы сделать его необязательным. Имейте в виду, что это исключает такие формы, как 12. Включение, которые были бы более похожими ^\d+\\.?\d{0,2}$.
добавленной
Используйте, ^\d{1,6}(\.\d{1,2})?$чтобы остановить повторение и задать ограничение для всей части десятичного значения.