非常感謝你前面回答了下這個問題
http://topic.csdn.net/u/20080214/09/9b32cf9b-9589-4ae0-8c1e-7647abb6d608.html
結果到了下午要求就變成了
9:00=< 開始時間   <11:30  并且  12:30=< 開始時間 <18:00
9:00< 終了時間   <=11:30  并且  12:30< 終了時間 <=18:00
你在幫忙回答下吧
謝謝,非常感謝
順便問下
哪里有比較詳細的正則表達式的api之類的東西下 啊   
再次謝謝

解决方案 »

  1.   

    我不太理解你的需求   
    9:00= <   開始時間       <11:30     并且     12:30= <   開始時間   <18:00 
    9:00 <   終了時間       <=11:30     并且     12:30 <   終了時間   <=18:00 
    这是什么意思了
      

  2.   

    http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html
      

  3.   

    果然是強人 
    抽完根煙回來發現他已經搞定了
    哪里有的下正則表達式的api之類的東西?
    最好是中文的pdf
      

  4.   

    测试代码:
    public class Test {    
        public static void main(String[] args) {
            String[] str = {
                    "08:59", "9:00", "09:00", "09:01",
                    "10:00", "10:30", "11:29", "11:30",
                    "11:31", "12:29", "12:30", "12:31",
                    "15:25", "17:59", "18:00", "18:01",
                    "19:14", "20:33", "21:22", "23:59",
                    "9:60", "24:70",
                };
            String pattern = "^(((0?9)|(1[03-7])):[0-5][0-9])|(11:[0-2][0-9])|(12:[3-5][0-9])$";
            String pattern1 = "^(((0?9(?!:00))|(1([03-7]|8(?=:00)))):[0-5][0-9])|(11:[0-2][0-9])|(11:30)|(12(?!:30):[3-5][0-9])$";
            
            for(int i = 0; i < str.length; i++) {
                System.out.printf("%5s %5s %5s%n",
                        str[i],
                        str[i].matches(pattern),
                        str[i].matches(pattern1)
                    );
            }        
        }
    }执行结果:08:59 false false
     9:00  true false
    09:00  true false
    09:01  true  true
    10:00  true  true
    10:30  true  true
    11:29  true  true
    11:30 false  true
    11:31 false false
    12:29 false false
    12:30  true false
    12:31  true  true
    15:25  true  true
    17:59  true  true
    18:00 false  true
    18:01 false false
    19:14 false false
    20:33 false false
    21:22 false false
    23:59 false false
     9:60 false false
    24:70 false false
      

  5.   

    呵呵,我从开始学Java到现在有1年半了,接触正则表达式差不多半年多吧。
      

  6.   

    不會吧
    那你今年幾歲啊
    工作了幾年啊 。。
    1年半。。
    我接觸java也快又1年了吧
    正則表達式是昨天接觸的
      

  7.   

    好题啊 借用火龙果的数据来练练 只做了第二种 第一种类似的
    最正统的分时间段匹配public class Test {    
        public static void main(String[] args) {
            String[] str = {
                    "08:59", "9:00", "09:00", "09:01",
                    "10:00", "10:30", "11:29", "11:30",
                    "11:31", "12:29", "12:30", "12:31",
                    "15:25", "17:59", "18:00", "18:01",
                    "19:14", "20:33", "21:22", "23:59",
                    "9:60", "24:70", "1234"
                };     
            
            String pattern = "^(((0?9(?!:00))|10):[0-5][0-9])|(11:[0-2][0-9])|(11:30)|((12(?!:30)):[3-5][0-9])|(1[3-7]:[0-5][0-9])|(18:00)$";
            
            for (int i = 0; i < str.length; i++) {
                System.out.printf("%5s %5s %n", str[i], str[i].matches(pattern));
            }        
        }
    }
    Results:
    08:59 false 
     9:00 false 
    09:00 false 
    09:01  true 
    10:00  true 
    10:30  true 
    11:29  true 
    11:30  true 
    11:31 false 
    12:29 false 
    12:30 false 
    12:31  true 
    15:25  true 
    17:59  true 
    18:00  true 
    18:01 false 
    19:14 false 
    20:33 false 
    21:22 false 
    23:59 false 
     9:60 false 
    24:70 false 
     1234 false