2010-12-16 21 views
1

郵便番号の後ろには、最後の言葉を完全なアドレスから取得する必要があります(常に同じ順序でなければなりません)。私はこの部分を取得する必要がありPHP PCRE - 住所を住所から取得する

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

アドレスの例

:あなたが見ることができるよう

Charneca da Caparica 

ウィッヒは、郵便番号の後に最後の言葉です

2815-233 

これに合わせてPCRE式が必要です。助言がありますか?

+1

郵便番号は常に「4桁 - 3桁」ですか、数字のみの書式ですか? – deceze

+0

肯定@deceze。今度はポルトガルのためのフォーマットです。将来誰にでも役立つことを願っています。 – yoda

答えて

3

何かこれを行うことができるはずです。

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

PS:それは効率的ではありませんので、私は、ユーザーが郵便番号の前に街を入れたらどう、この使用REGのEXPを解析しようとしないでしょう。あなたのデータが100%確実なら、それはうまくいくはずです。

+0

@RageZ、良い更新。あなたの元の表現は後方でした。 PSで+1。これは非常に特殊な正規表現です。 –

+0

くそー私は近くにいました。私はユーザー入力を制御できません。これはWebクローラーのためのものですが、元のアプリケーションが私のためにその部分を制御していると思っています。ちなみに、式の終わりには最後のスラッシュがありません。乾杯! – yoda

+0

私はそこに単語と区切り文字を入れていると思います。 ;) – deceze

2

これは、郵便番号(4桁、ダッシュ、3桁)と空白の後の文字列の最後の部分を取得します。

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

もうまくいきました:) – yoda