Действительные токены регулярного выражения зависят от реализации. Общей формой является:
[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})?$
чтобы остановить повторение и задать ограничение для всей части десятичного значения.