java正则表达式怎么写成能够匹配24小时机制的时间

[code="java"]
public class TestRep4
{

public static void main(String[] args)
{
    String rep = "(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$";

    Pattern p = Pattern.compile(rep);

    //前面有一空格,23点能匹配
    String s = " 23:23:21";

    //14点就不匹配了
    String s2 = " 14:12:23";

    System.out.println(p.matcher(s).matches());
    System.out.println(p.matcher(s2).matches());
}

}

[/code]

怎么写24小时都能够匹配呢?

(([0-1][0-9])|2[0-3]):[0-5][0-9]:[0-5][0-9]

quote|2[0-3]):[0-5][0-9]:[0-5][0-9][/quote] :idea: