десятичный разделитель - точка, за которой следует максимум одна цифра! Диапазон не указан.
Спасибо, ребята!
^-?\d+(\.\d)?$
, если десятичная часть необязательна, и
^-?\d+\.\d$
если требуется:)
Простой: -?\d+\.\d
-?\d+\.\d
Маловероятно, чтобы быть уместным в этом случае, но не забывайте, что "." не является универсальным в качестве десятичного разделителя. Многие европейские страны используют «,», поэтому вы можете предпочесть использовать тот, который используется в локали:
DecimalFormat df = (DecimalFormat) NumberFormat.getInstance(); String separator = df.getDecimalFormatSymbols().getDecimalSeparator();
(см. Также: http://java.sun.com/j2se/1.5.0/docs/api/java/text/DecimalFormatSymbols.html#getDecimalSeparator)