正则expression式的zip代码

可能重复:
什么是最终的邮政编码和正则expression式?

我需要正则expression式,可以满足我的三个条件的邮政编码。 例如-

  1. 12345
  2. 12345-6789
  3. 12345 1234

任何指针和build议将不胜感激。 谢谢 !

^\d{5}(?:[-\s]\d{4})?$ 
  • ^ =string的开始。
  • \d{5} =匹配5位数(条件1,2,3)
  • (?:…) =分组
  • [-\s] =匹配空格(对于条件3)或连字符(对于条件2)
  • \d{4} =匹配4位数(条件2,3)
  • …? =之前的模式是可选的(条件1)
  • $ =string的结尾。