zoukankan      html  css  js  c++  java
  • 正则表达式校验yyyymmdd

    正则表达式为

    ([\d]{4}(((0[13578]|1[02])((0[1-9])|([12][0-9])|(3[01])))|(((0[469])|11)((0[1-9])|([12][1-9])|30))|(02((0[1-9])|(1[0-9])|(2[1-8])))))|((((([02468][048])|([13579][26]))00)|([0-9]{2}(([02468][048])|([13579][26]))))(((0[13578]|1[02])((0[1-9])|([12][0-9])|(3[01])))|(((0[469])|11)((0[1-9])|([12][1-9])|30))|(02((0[1-9])|(1[0-9])|(2[1-9])))))

    处理代码如下:

    private static final Pattern date_pattern = Pattern.compile("([\d]{4}(((0[13578]|1[02])((0[1-9])|([12][0-9])|(3[01])))|(((0[469])|11)((0[1-9])|([12][1-9])|30))|(02((0[1-9])|(1[0-9])|(2[1-8])))))|((((([02468][048])|([13579][26]))00)|([0-9]{2}(([02468][048])|([13579][26]))))(((0[13578]|1[02])((0[1-9])|([12][0-9])|(3[01])))|(((0[469])|11)((0[1-9])|([12][1-9])|30))|(02((0[1-9])|(1[0-9])|(2[1-9])))))");

    //假如是1988年5月8日这种,补足8位数字,变成1988年05月08日

    String cur_mm = null;
    String cur_dd = null;
    if(cur_value.contains("年")){
    cur_mm = cur_value.substring(cur_value.indexOf("年")+1,cur_value.indexOf("月"));
    if(cur_mm!=null&&cur_mm.trim().length()==1){
    cur_value = cur_value.substring(0,cur_value.indexOf("年")+1)+"0"+cur_value.substring(cur_value.indexOf("年")+1,cur_value.length());
    }
    cur_dd = cur_value.substring(cur_value.indexOf("月")+1,cur_value.indexOf("日"));
    if(cur_dd!=null&&cur_dd.trim().length()==1){
    cur_value = cur_value.substring(0,cur_value.indexOf("月")+1)+"0"+cur_value.substring(cur_value.indexOf("月")+1,cur_value.length());
    }

    }
    Matcher date_match = date_pattern.matcher(cur_value.replace("年", "").replace("月", "").replace("日", "").replace("-", ""));
    if (date_match.find()) {
    date_result = date_match.group(0).trim();
    return date_result.replace(",", "").trim();
    }

    ////date_pattern针对XXXX0410,XXXX0610,XXXX0910,XXXX1110这4个日期无效,需做特殊处理
    boolean mmFlag = cur_value.indexOf("04")!=-1||cur_value.indexOf("06")!=-1||cur_value.indexOf("09")!=-1||cur_value.indexOf("11")!=-1;
    if(mmFlag && cur_value.indexOf("10")!=-1){
    return cur_value.replace("年", "").replace("月", "").replace("日", "").replace("-", "");
    }

  • 相关阅读:
    线性表
    文件IO其四 图片显示
    文件IO其三 目录操作
    文件IO其二 文件IO
    文件IO其一 标准IO
    字符串处理函数
    复杂类型及编译相关
    linux内存分析
    构建根文件系统3-完善根文件系统
    构建根文件系统3-构建最小根文件系统
  • 原文地址:https://www.cnblogs.com/ximencuixue/p/9316449.html
Copyright © 2011-2022 走看看