PHP REGEX:PREG_SPLIT()需要帮助以获取邮政编码

时间:2012-04-12 23:43:27

标签: php regex zipcode preg-split

我有像

这样的内容
  

San Clemente,CA 92673

  

阿灵顿,TX 76012-3693

我需要将其拆分为CityAndStateZip 一些

我正在尝试:

$moreAddressInfo = preg_split('^[0-9.]{5,}^', $row2['cityAndZip'],null,PREG_SPLIT_DELIM_CAPTURE);

(也试过没有国旗)
... CityState部分返回正常,但主要的Zip信息丢失了 (对于上面两个例子, $ moreAddressInfo [1] 分别等于''' - 3693'

任何指针?

1 个答案:

答案 0 :(得分:2)

试试这个:

$moreAddressInfo = preg_split('~\s+(?=[0-9]{5})~', $row2['cityAndZip']);
  • \s+匹配一个或多个空白字符。

  • (?=[0-9]{5})是一个积极的向前看;它断言字符串的下一部分是五位数,但消耗它们。

所以你的分隔符是一些空格,后跟五位数。