2010-12-16 65 views
1
得到城市

我需要從完整地址得到它包含的最後一個單詞,在郵政編碼之後(它應該總是以相同的順序)。PHP PCRE - 從地址

的ADRESS的一個例子:

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

我需要得到這個部分:

Charneca da Caparica 

至極,正如你所看到的,是郵政代碼後的最後一句話:

2815-233 

我需要一個PCRE表達式來匹配這個。有什麼建議麼?

+1

郵政編碼是否始終爲「4位數--3位」,僅限數字格式? – deceze 2010-12-16 02:23:34

+0

肯定@deceze。現在你問,這種格式是針對葡萄牙的。希望它可以幫助任何人在未來。 – yoda 2010-12-16 02:34:23

回答

3

像這樣的東西應該能夠做到這一點。 PS:我不會嘗試使用reg exp解析這個,因爲它不會有效,如果用戶把城市放在郵政編碼之前,該怎麼辦?如果你100%確信你的數據應該沒問題。

+0

@RageZ,很好的更新。你原來的表情倒退了。 PS上的+1。這是一個非常具體的正則表達式。 – 2010-12-16 02:29:39

+0

該死的我很近。我無法控制用戶輸入,這是針對網絡爬蟲的,但我相信(太天真?),原始應用程序會爲我控制該部分。順便說一下,您在表達式末尾缺少最後一個斜槓。乾杯! – yoda 2010-12-16 02:30:16

+0

我認爲你在這裏有一個詞和分隔符。 ;) – deceze 2010-12-16 02:31:01

2

這將得到郵政編碼(4位數字,短劃線,3位數字)和空白後的字符串的最後部分。

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

工作得很好,謝謝:) – yoda 2010-12-16 02:32:01