如何用正则表达式来匹配字符串是否为以下的时间格式:
首先必须是时间类型的。。
然后看是否符合这个格式。。
****/**/** **:**:**

解决方案 »

  1.   

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    import java.util.*;
    import java.io.*;
    class ReadConsole
    {
    public static void main(String args[])throws Exception{
    Pattern p = null;
    Matcher m = null;
    String reg = "[1-9]{1}\\d{3}+/[0-1]{1}[0-2]{1}/[0-3]{1}\\d{1}\\s[0-2]{1}[0-4]{1}:[0-5]{1}\\d{1}:[0-5]{1}[0-9]{1}";
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    System.out.println("请输入日期:****/**/** **:**:**");
    String s = br.readLine();
    p = Pattern.compile(reg);
    m = p.matcher(s);
    System.out.println("您输入的数据是否符合:" + m.matches());
    }
    }
      

  2.   

    当改为String reg = "[1-9]{1}\\d{3}(-)[0-1]{1}[0-2]{1}(-)[0-3]{1}\\d{1}\\s[0-2]{1}[0-4]{1}(:)[0-5]{1}\\d{1}(:)[0-5]{1}\\d{1}"; 时,可以判断1998-12-12 12:12:12日期数据格式!
    我也在等好的解决方法啊!
      

  3.   


    /**
         * 判断字符是否是正确的日期格式(包括时间)
         * 
         * @return boolean
         * @param time
         * @author kakukyowu
         */
        public static boolean isTime(String time) {        return time
                    .matches("^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29)) (20|21|22|23|[0-1]?\\d):[0-5]?\\d:[0-5]?\\d$");
        }
    调我这个方法吧