如何使用String中的固定整数和十进制值检查十进制数字

时间:2013-01-15 15:24:38

标签: java regex

请帮助我找到有效的方法来查找数字字符串。

String str ="-100000.000";
System.out.println(str.matches("-?\\d+(\\.\\d+)?"));

它完美无缺,但我想接受像这样的数字字符串

String length must be maximum (10,3)--- Example 1234567890.999
String length must be minmum   (1)------0
Numeric String must be positive.

valid Numeric Strings(2.333    1878.12    787          989.0)

2 个答案:

答案 0 :(得分:5)

鉴于您的限制,您可以使用此正则表达式:

"\\+?\\d{1,10}(\\.\\d{1,3})?"

您可以查看JavaDoc中的量词部分。

根据您在评论中的请求添加了可选前导+

答案 1 :(得分:1)

System.out.println(str.matches("\\+?\\d{1,10}(\\.\\d{1,3})?"));