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

sun*_*leo 0 java regex

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

String str ="-100000.000";
System.out.println(str.matches("-?\\d+(\\.\\d+)?"));
Run Code Online (Sandbox Code Playgroud)

它工作得很完美,但我想接受像这样的数字字符串

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)
Run Code Online (Sandbox Code Playgroud)

jlo*_*rdo 5

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

"\\+?\\d{1,10}(\\.\\d{1,3})?"
Run Code Online (Sandbox Code Playgroud)

您可以查看JavaDoc中的quantiers部分.

+根据您在评论中的请求添加了可选的潜在客户.