Java正则表达式没有编译

时间:2014-11-26 04:45:43

标签: java regex

我有代码

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格式不匹配......

1 个答案:

答案 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]$