正则表达式:邮政编码只有9或10个数字与短划线

时间:2015-03-13 14:47:29

标签: java regex

我们允许美国邮政编码仅为(1)9位数,或(2)10位数字,在最后4位数字前加上短划线。

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

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

Invalid escape sequence

1 个答案:

答案 0 :(得分:4)

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

"^\\d{5}[\\-]?\\d{4}$"

此外,您可以将连字符简单地指定为

"^\\d{5}-?\\d{4}$"

-[]之外使用时并不特殊。