private boolean isNumber(String n) {
// 判断字符串是否为数字:正负整数、正负小数
Pattern p = Pattern.compile("^-?(\\d+|\\d+\\.\\d+)$");
return p.matcher(n).find();
}
private boolean isDate(String n) {
// 简单判断字符串是否为日期:年的位数小于等于四位就是了,月01到12,日01到31。暂不考虑特殊情况
Pattern p = Pattern.compile("^\\d{1,4}-(0[1-9]|1[0-2])-([0-2][09]|3[0-1])$");
return p.matcher(n).find();
}
这里记录一个bug:new SimpleDateFormat("yyyy-MM-dd").parse("11111111-1111-1111-1111-111111111111") 会被成功解析
这里的"11111111-1111-1111-1111-111111111111"是同事仿照UUID格式自定义的一个值
两个正则是才写的,主要用于自己日后方便查找使用,粗略测试了一下。
如果有问题,望留言指正