PHP PCRE - 从地址获取城市

时间:2010-12-16 02:20:02

标签: php regex pcre

我需要在邮政编码之后从完整地址获取它包含的最后一个单词(总是以相同的顺序)。

地址的一个例子:

Av. Elias Garcia (em frente ao Restaurante Pote) Palhais 2815-233 Charneca da Caparica

我需要得到这个部分:

Charneca da Caparica
如你所见,这是邮政编码后的最后一句话:

2815-233

我需要一个PCRE表达式来匹配它。有什么建议吗?

2 个答案:

答案 0 :(得分:3)

这样的东西应该能够做到。

preg_match('/\d{4}-\d{3}\s+(.*)/', $subject, $match);
echo $match[1];

PS:我不会尝试使用reg exp来解析它,因为它不会有效,如果用户将城市放在邮政编码之前该怎么办。如果您100%确定您的数据,那应该没问题。

答案 1 :(得分:2)

这将获得邮政编码后的字符串的最后一部分(4位数,短划线,3位数)和空格。

preg_match('/\s+\d{4}-\d{3}\s+(.+)$/', $address, $match);
print_r($match);