我有代码
private String regexHHMM = "^([0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$";
代码不会编译错误" Unclosed Character class"
这必须是非常基本的东西,有什么特别的逃避我应该使用,我也主要感兴趣的是它为什么它不能被java编译器接受。
更新:我试过
Pattern.quote("^([0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$");
现在它编译了,但正则表达式现在与HH:MM格式不匹配......
答案 0 :(得分:4)
您需要移除图案内的初始开放方括号。
^([0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$
^
应该是:
^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$