Java - регулярное выражение для обычного положительного отрицательного числа
Я прочитал много вопросов о регулярных выражениях, но я еще не нашел это..
Я хочу, чтобы регулярное выражение в Java, чтобы проверить, является ли строка (без ограничения длины) число:
в том числе отрицательный (-4/-123)
в том числе
0
в том числе положительный (2/123)
исключая
+
(+4/+123)исключая ведущий ноль
0
(05/000)исключая
.
(0,5 / 0,4/1,0)исключая
-0
Это то, что я сделал до сих пор:
^(?-)[1-9]+[0-9]*
1 ответ
Решение
Это необязательный -
-?
Номер не должен начинаться с 0
[1-9]
за ним может следовать произвольное количество цифр
\d*
0 является исключением из правила "не начинается с 0", поэтому вы можете добавить 0 в качестве альтернативы.
Финальное регулярное выражение
-?[1-9]\d*|0
код Java
String input = ...
boolean number = input.matches("-?[1-9]\\d*|0");