日期:2014-05-20  浏览次数:20617 次

求JAVA正则:小于50的整数,谢谢,最好能帮我解释下,初学正则
求JAVA正则:小于50的整数,谢谢,最好能帮我解释下,初学正则

------解决方案--------------------
[1-4]?[0-9]
------解决方案--------------------
负整数可以吗
------解决方案--------------------
Java code


    String sourceString = new Integer(-51001).toString();
    String regex = "[1-4]?[0-9]|\\-[\\d]*[1-9]";
    if(sourceString.matches(regex)) System.out.println("correct!");

------解决方案--------------------
修改一下LS的
String regex = "[1-4]?[0-9]|-[1-9]\\d*";
[1-4]就是数字1-4的任意一个
?就是可有可无
[0-9]就是数字0-9任意一个
-就是负号-
[1-9]就是数字1-9任意一个
\\d*就是数字0-9没有或有多个
------解决方案--------------------
应该这样比较合理
Java code

String sourceString = "-890";
String regex = "^[1-4]?[\\d]$|^-[1-9][\\d]*$";
if(sourceString.matches(regex)) System.out.println("correct!");