我需要一个正则表达式来匹配HH:MM格式的时间。这是我的,它不起作用:
Pattern pattern = Pattern.compile("/^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/");
Matcher matcher = pattern.matcher(hora);
if(matcher.matches()) {
isHour = true;
}
我试过了,但它一直给我假的
public static boolean isHour(String hora) {
boolean isHour = false;
try {
Pattern pattern = Pattern.compile("/^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/");
Matcher matcher = pattern.matcher(hora);
if(matcher.matches()) {
isHour = true;
}
}catch(Exception e) {
logger.error("error isDate boolean", e);
}
return isHour;
}
有什么解决方案吗?或者我是否错误地生成了正则表达式?谢谢你
3条答案
按热度按时间jdg4fx2g1#
在 Java 中,不使用前导和尾随的
/
字符。尝试以下模式。
下面是一个例子,其中 s 是 String 值。
vom3gejh2#
使用
java.time
jogvjijk3#
试试这个: