我需要在邮政编码之后从完整地址获取它包含的最后一个单词(总是以相同的顺序)。
地址的一个例子:
Av. Elias Garcia (em frente ao Restaurante Pote) Palhais 2815-233 Charneca da Caparica
我需要得到这个部分:
Charneca da Caparica
如你所见,这是邮政编码后的最后一句话:
2815-233
我需要一个PCRE表达式来匹配它。有什么建议吗?
答案 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);