java 时间正则怎样写?解决办法

java 时间正则怎样写?
如:19:20、23:59
java 时间正则

------解决方案--------------------
([01]\\d)
------解决方案--------------------
([2][0123]):[0-5]\\d
------解决方案--------------------
(0[0-3]
------解决方案--------------------
1\\d):[0-5]\\d
------解决方案--------------------
(([01][0-9])
------解决方案--------------------
(2[0-3])):[0-5][0-9]
------解决方案--------------------
引用:
([01]\\d)
------解决方案--------------------
([2][0123]):[0-5]\\d

括号加错了,但是我不知道是什么原因,高手求解释,谢谢了

引用:
(0[0-3]
------解决方案--------------------
1\\d):[0-5]\\d

有些时间不能匹配


引用:
(([01][0-9])
------解决方案--------------------
(2[0-3])):[0-5][0-9]

正解。。[0-9]可以换成\\d
对正则的括号不太懂,我试了下
public class RegexTest {
//http://bbs.csdn.net/topics/390337220
/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(("23:27").matches("([01]\\d)
------解决方案--------------------
([2][0123]):[0-5]\\d"));
System.out.println(("13:27").matches("([01]\\d)
------解决方案--------------------
([2][0123]):[0-5]\\d"));
System.out.println(("23:27").matches("([01]\\d
------解决方案--------------------
[2][0123]):[0-5]\\d"));
System.out.println(("13:27").matches("([01]\\d
------解决方案--------------------
[2][0123]):[0-5]\\d"));
System.out.println(("23:27").matches("(([01]\\d)
------解决方案--------------------
([2][0123])):[0-5]\\d"));
System.out.println(("13:27").matches("(([01]\\d)
------解决方案--------------------
([2][0123])):[0-5]\\d"));
//以上不懂啊
System.out.println(("04:27").matches("(0[0-3]
------解决方案--------------------
1\\d):[0-5]\\d"));
System.out.println(("23:27").matches("(0[0-3]
------解决方案--------------------
1\\d):[0-5]\\d"));//3楼的
}

}
/*
true
false
true
true
true
true
false
false
*/