Regex 正则表达式检查数值长度
我想验证5位或9位的zipcode。 我写了这个Regex 正则表达式检查数值长度,regex,Regex,我想验证5位或9位的zipcode。 我写了这个/^(\d){5 | 9}$/,但它与任何内容都不匹配 但是当我给/^(\d){5}$/正确匹配5时 请帮助。以下正则表达式应该可以工作 ^(\d{5}|\d{9})$ 将最后四个选项设置为可选: ^\d{5}(\d{4})?$ 注意,我删除了开头/结尾斜杠,因为它们与正则表达式没有任何关系;它们是一种应用程序语言制品。与USPS ZIP+4相匹配 如果您使用的是美国邮政局的ZIP+4格式,则此正则表达式可能提供更精确的匹配: egrep -o
/^(\d){5 | 9}$/
,但它与任何内容都不匹配
但是当我给/^(\d){5}$/
正确匹配5时
请帮助。以下正则表达式应该可以工作
^(\d{5}|\d{9})$
将最后四个选项设置为可选:
^\d{5}(\d{4})?$
注意,我删除了开头/结尾斜杠,因为它们与正则表达式没有任何关系;它们是一种应用程序语言制品。与USPS ZIP+4相匹配
如果您使用的是美国邮政局的ZIP+4格式,则此正则表达式可能提供更精确的匹配:
egrep -o '\b[[:digit:]]{5}-?[[:digit:]]{4}?\b'
语料库
这个正则表达式在有限的语料库中进行了测试。您的里程可能会有所不同
cat << EOF | egrep -o '\b[[:digit:]]{5}-?[[:digit:]]{4}?\b'
12345
123456789
12345-6789
EOF
猫也有同样的答案。。。但我只是想提交一个提示。。非常适合在线测试大多数正则表达式。好的,但我正在测试我的正则表达式