可能重复:
最终的邮政编码和邮政编码是什么?
我需要正则表达式,它可以满足我对邮政编码的所有三个条件.例如-
任何指针和建议将不胜感激.谢谢 !
ken*_*ytm 300
^\d{5}(?:[-\s]\d{4})?$
Run Code Online (Sandbox Code Playgroud)
^ =字符串的开头.\d{5} =匹配5位数(条件1,2,3)(?:…) =分组[-\s] =匹配空格(条件3)或连字符(条件2)\d{4} =匹配4位数(条件2,3)…? =之前的模式是可选的(条件1)$ =字符串的结尾.仅对于列出的三个条件,这些表达式也可能适用:
^\d{5}[-\s]?(?:\d{4})?$
^\[0-9]{5}[-\s]?(?:[0-9]{4})?$
^\[0-9]{5}[-\s]?(?:\d{4})?$
^\d{5}[-\s]?(?:[0-9]{4})?$
Run Code Online (Sandbox Code Playgroud)
如果我们有 5 到 4 位数字之间的意外额外空格或连续的 9 位邮政编码,例如:
123451234
12345 1234
12345 1234
Run Code Online (Sandbox Code Playgroud)
例如,此表达式将是具有较少约束的次要选项:
^\d{5}([-]|\s*)?(\d{4})?$
Run Code Online (Sandbox Code Playgroud)
jex.im可视化正则表达式:
^\d{5}[-\s]?(?:\d{4})?$
^\[0-9]{5}[-\s]?(?:[0-9]{4})?$
^\[0-9]{5}[-\s]?(?:\d{4})?$
^\d{5}[-\s]?(?:[0-9]{4})?$
Run Code Online (Sandbox Code Playgroud)