使用' - '进行数字输入的Java正则表达式开头的char是可以接受的

时间:2017-02-02 11:22:41

标签: java regex

我需要支持int数字的输入,例如" 100",像#34; 150.84",但也能够接受这样的输入" -458.2& #34;或" -450"。

对于我使用的int / double部分: input.matches("\\d+\\.\\d+")) || input.matches("\\d+"))

但是如何才能让开头的减号可以接受呢?

1 个答案:

答案 0 :(得分:3)

您可以允许这样的可选-

 input.matches("-?\\d+\\.\\d+"))

您也可以在一个正则表达式中编写它:

input.matches("-?\\d+(?:\\.\\d+)?"))

?:声明一个非捕获组,因为您不想提取此部分