String str="2014-05-05T14:07:00";
Pattern pattern = Pattern.compile("^[1-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9]$");
Matcher matcher = pattern.matcher(str);
System.out.println(matcher.matches());
这是一段匹配时间的正则表达式,现在如果T前面有空格的话就会匹配失败。
我想写成T前面有空格的也能匹配上,(2014-05-05 T14:07:00)这样,意思就是写成T或者空格(也许会不止一个空格)
都行。麻烦有会的大神指点一下,多谢。
------解决方案--------------------
空格在正则里可以直接打个空格或者用\\s来表示空白字符
" *"或者"\\s*"都能表示任意个空格
贴一段我自己写的
"^([1-9]\\d{3})-(0[1-9]
------解决方案--------------------
1[0-2])-(0[1-9]
------解决方案--------------------
[12]\\d
------解决方案--------------------
3[01])(\\s*T)(0[1-9]
------解决方案--------------------
1\\d
------解决方案--------------------
2[0-4]):([0-5]\\d):([0-5]\\d)$"