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

Given your restrictions, you can use this regex:

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

You can look at the quantifiers section in JavaDoc.

Added the optionally leading +, as per your request in the comment.

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