首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Regex不需要

Regex不需要
EN

Stack Overflow用户
提问于 2019-09-23 10:31:56
回答 2查看 2.3K关注 0票数 4

我试图用这样的模式在Java中开发一个简单的REGEX:

代码语言:javascript
运行
复制
@Pattern(regexp = "[a-zA-Z]{2}[0-9]{1}[2-8]{1}" , message = "The format is invalid")

但是,当字段为空时,仍会显示此消息,因此,我只希望在字段不为空时才显示此消息(我希望该字段不是必需的)。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-23 10:38:11

尝试使用以下regex,它既匹配预期的字符串,也匹配空字符串:

代码语言:javascript
运行
复制
[a-zA-Z]{2}[0-9]{1}[2-8]{1}|^$

Java代码:

代码语言:javascript
运行
复制
@Pattern(regexp = "[a-zA-Z]{2}[0-9]{1}[2-8]{1}|^$", message = "The format is invalid")
票数 3
EN

Stack Overflow用户

发布于 2019-09-23 11:00:22

可以使用非捕获组(?:...)?使整个模式可选,以匹配空字符串或整个模式。

请注意,您可以省略{1}部分。

代码语言:javascript
运行
复制
^(?:[a-zA-Z]{2}[0-9][2-8])?$

Regex演示

代码语言:javascript
运行
复制
@Pattern(regexp = "^(?:[a-zA-Z]{2}[0-9][2-8])?$" , message = "The format is invalid")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58060466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档