Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不需要正则表达式_Java_Regex - Fatal编程技术网

Java 不需要正则表达式

Java 不需要正则表达式,java,regex,Java,Regex,我试图用Java开发一个简单的正则表达式,其模式如下: @Pattern(regexp = "[a-zA-Z]{2}[0-9]{1}[2-8]{1}" , message = "The format is invalid") 但该字段为空时仍显示此消息, 因此,我只想在字段不为空时显示此消息(我希望字段为空将不需要) 多谢各位 尝试使用以下正则表达式,它与预期字符串和空字符串都匹配: [a-zA-Z]{2}[0-9]{1}[2-8]{1}|^$ Java代码: @Pattern(regexp

我试图用Java开发一个简单的正则表达式,其模式如下:

@Pattern(regexp = "[a-zA-Z]{2}[0-9]{1}[2-8]{1}" , message = "The format is invalid")
但该字段为空时仍显示此消息, 因此,我只想在字段不为空时显示此消息(我希望字段为空将不需要)


多谢各位

尝试使用以下正则表达式,它与预期字符串和空字符串都匹配:

[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")

您可以使用非捕获组
(?:…)?
来匹配空字符串或整个模式,从而使整个模式成为可选模式

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

^(?:[a-zA-Z]{2}[0-9][2-8])?$


请发布有效的Java代码。你发布的内容不会编译。你是说它是空的还是说它是可选的<代码>^(?[a-zA-Z]{2}[0-9][2-8])?$Hi。您包含的代码段中存在语法错误。此外,您似乎正在使用某种神奇的框架。至少在某处提到它的名称(或者@Pattern注释的完整路径,以及包名)。这个问题遗漏了太多。(OT:
{1}
是多余的。)只是好奇,你想用
[0-9]{1}[2-8]{1}
匹配什么?
@Pattern(regexp = "^(?:[a-zA-Z]{2}[0-9][2-8])?$" , message = "The format is invalid")