Java正则表达式为空或我的格式

时间:2013-12-20 19:17:05

标签: java regex

你好,我有一个正常的表达式[2-5][0-5]:[0-8][0-8]接受20:88,35:14,32:54等数字。

我使用anotattion javax.validation.constraints.Pattern来验证实体。

但我需要接受空字符串或我显示的格式。

我尝试了[^.]|[2-5][0-5]:[0-8][0-8] [^.]|([2-5][0-5]:[0-8][0-8]) ^.|[2-5][0-5]:[0-8][0-8] (^.)|[2-5][0-5]:[0-8][0-8]

但不行。我试过把empty|myformat

1 个答案:

答案 0 :(得分:4)

试试这个:

^(?:[2-5][0-5]:[0-8][0-8])?$

(?:..)是非捕获组,?使该组可选。

^$是字符串开头和结尾的锚点。

但是,如果您的目标是匹配第一部分20到55之间的数字,第二部分匹配00和88,那么这种模式会做得更好:

^(?:(?:[2-4][0-9]|5[0-5]):(?:[0-7][0-9]|8[0-8]))?$