正则表达式:带有短划线的邮政编码仅9或10位

gen*_* b. 3 java regex

我们只允许(1)9位数字或(2)10位数字(最后4位数字前带有破折号)作为美国邮政编码。

以下正则表达式给出了编译错误:

private static final String USZIPCODE_MATCH_FORMAT_REGEXP = "^\d{5}[\\-]?\d{4}$";

Invalid escape sequence
Run Code Online (Sandbox Code Playgroud)

Rav*_*yal 5

在Java中,您也需要转义\。所以,你需要

"^\\d{5}[\\-]?\\d{4}$"
Run Code Online (Sandbox Code Playgroud)

另外,您可以将连字符指定为

"^\\d{5}-?\\d{4}$"
Run Code Online (Sandbox Code Playgroud)

-当在室外使用时,此按钮并不特殊[]