首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

求一合法数目字正则表达式,有答案马上结贴

2012-06-20 
求一合法数字正则表达式,有答案马上结贴正常正数负数都没问题非法数字就不行例如1.1.11.a.124a.1[解决办法

求一合法数字正则表达式,有答案马上结贴
正常正数负数都没问题
非法数字就不行
例如
1.1.1
1.a
.124
a.1


[解决办法]
String str="-1.001";
boolean flag=str.matches("(-?)(\\d+|([0]|[1-9]+)\\.\\d+)");
System.out.print(flag);
[解决办法]
上面那个有问题

Java code
        String str="-1.001";        boolean flag=str.matches("(-?)(\\d+|([0]|[1-9]\\d+)\\.\\d+)");        System.out.print(flag);
[解决办法]
-?([0]|([1-9]\\d+))(\\.\\d+)?
整数部分要不就一个0,要不就是以1-9开头的数字,小数点及分数部分可有可无。
[解决办法]
探讨

-?([0]|([1-9]\\d+))(\\.\\d+)?
整数部分要不就一个0,要不就是以1-9开头的数字,小数点及分数部分可有可无。

[解决办法]
我也写一个。
Java code
String str="-101.1";System.out.print(str.matches("[-+]?([1-9]\\p{Digit}*|[0])(.\\p{Digit}*[1-9])?"));
[解决办法]
探讨

-?([0]|([1-9]\\d+))(\\.\\d+)?
整数部分要不就一个0,要不就是以1-9开头的数字,小数点及分数部分可有可无。

[解决办法]
Java code
        String str="-1";boolean flag=str.matches("(-?)([0]|[1-9]\\d*)(\\.\\d+)?");System.out.print(flag);
[解决办法]
Java code
public class Test {    static void test(String input){        System.out.println(input.matches("(-?)([0]|([1-9]\\d+))([.]\\d+)?"));    }    public static void main(String[] args) {        test("123");        test("-123");        test("11.22");        test("-11.22");        test("0.123");        test("-0.123");        test("-11.");        test("11.22.33");        test("-01.2");        test(".123");        test("a.2");    }} 

热点排行