0

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

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)
4

2 回答 2

5

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

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

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

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

于 2013-01-15T15:29:34.877 回答
1
System.out.println(str.matches("\\+?\\d{1,10}(\\.\\d{1,3})?"));
于 2013-01-15T15:30:02.307 回答