我试图用这样的模式在Java中开发一个简单的REGEX:
@Pattern(regexp = "[a-zA-Z]{2}[0-9]{1}[2-8]{1}" , message = "The format is invalid")
但是,当字段为空时,仍会显示此消息,因此,我只希望在字段不为空时才显示此消息(我希望该字段不是必需的)。
谢谢。
发布于 2019-09-23 10:38:11
尝试使用以下regex,它既匹配预期的字符串,也匹配空字符串:
[a-zA-Z]{2}[0-9]{1}[2-8]{1}|^$
Java代码:
@Pattern(regexp = "[a-zA-Z]{2}[0-9]{1}[2-8]{1}|^$", message = "The format is invalid")
发布于 2019-09-23 11:00:22
可以使用非捕获组(?:...)?
使整个模式可选,以匹配空字符串或整个模式。
请注意,您可以省略{1}
部分。
^(?:[a-zA-Z]{2}[0-9][2-8])?$
@Pattern(regexp = "^(?:[a-zA-Z]{2}[0-9][2-8])?$" , message = "The format is invalid")
https://stackoverflow.com/questions/58060466
复制相似问题