要求格式如:1001(-01-01-01-01.......N)如:1001,1001-01,1001-10-10等
括号部分是可选内容,可有可无
前4位首尾不能为0其他都可以如“1111”,‘3002’,‘2093’
后面可以不限连接‘xx’两位数,不允许为‘00’
求大牛解答急!!!!!!!!!!
最好是java的
正则表达式
括号部分是可选内容,可有可无
前4位首尾不能为0其他都可以如“1111”,‘3002’,‘2093’
后面可以不限连接‘xx’两位数,不允许为‘00’
求大牛解答急!!!!!!!!!!
最好是java的
正则表达式
public static void main(String[] args) throws Exception {
String pattern = "[1-9]\\d{3}(-[1-9]\\d|-\\d[1-9])*"; System.out.println("1001".matches(pattern));
System.out.println("1001-10".matches(pattern));
System.out.println("1001-01".matches(pattern));
System.out.println("1001-00".matches(pattern));
System.out.println("1001-10-10".matches(pattern));
System.out.println("1001-10-01".matches(pattern));
System.out.println("1001-01-10".matches(pattern));
System.out.println("1001-01-01".matches(pattern));
System.out.println("0001-01-01".matches(pattern));
}
}
输出
true
true
true
false
true
true
true
true
false
// 用这个新的。
// 前4位首尾不能为0:忘了这里
String pattern = "[1-9]\\d{2}[1-9](-[1-9]\\d|-\\d[1-9])*";