台灣最大程式設計社群網站
線上人數
1806
 
會員總數:246050
討論主題:189633
歡迎您免費加入會員
討論區列表 >> PHP >> 求一個地址分析的正則
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
求一個地址分析的正則
價值 : 300 QP  點閱數:2519 回應數:5
樓主

浩瀚星空 版主
中級顧問
42049 80
15502 5563
發送站內信

捐贈 VP 給 浩瀚星空
如題目上說的。

如我給了一個地址「新北市中區中正路10巷5弄3號1樓5室」
我希望可以判斷出「新北市」「中區」「中正路」「10」巷「5」弄「3」號「1」樓「5」室

我試了幾個正則。都沒辦法很正常。畢竟像是巷弄這些不一定會有。
路的部份有的是沒有路。所以現在有點搞死我了。

希望對正則有了解的大大們能幫我一下。

本篇文章發表於2015-05-05 14:40
== 簽名檔 ==
浩瀚星空站長(http://www.ihstar.com)
星空客棧 http://tech.ihstar.com 一個開發者專業平台
主機空間承租、網頁設計開發、電腦維修組裝
連絡資料:hstaryoching#gmail.com (請將#改掉,你懂的)
我email跟skype都是同一個帳號。如連絡請說明你是從此過來的

新人發問笑話
「不用跟我說543,跟我說怎麼做就好」我不是你免費的打手。
(po一段程式碼)然後問,「問題在哪??」問神吧,我可以借你2個50。但記得還我2張500。
「這功能該怎麼做,最好提供範例」(飯粒)嗎??我飯桌上多的是,盡量去拿。
主題:「請求救、請救救我....」打119比較快。
「如題....」嗯~~~的確如題,答案也「如題」。
「為何這段程式碼出錯?」(未po錯誤訊息)啊!!因為人品問題!!
1樓
不錯的參考

迷路
捐贈 VP 給 迷路 檢舉此回應
試試看這個
$re = '/(.+[\x{7e23}|\x{5e02}|\x{9109}|\x{93ae}|\x{5340}|\x{6751}|\x{91cc}|\x{9130}|\x{8def}|\x{8857}|\x{5df7}|\x{5f04}|\x{865f}|\x{6a13}|\x{5ba4}])/uU';

不過如果巷弄號樓室不抓字只抓號碼就比較麻煩了
小弟功力不足只能拆成兩個部分抓取
$re1 = '/(.+[\x{7e23}|\x{5e02}|\x{9109}|\x{93ae}|\x{5340}|\x{6751}|\x{91cc}|\x{9130}|\x{8def}|\x{8857}])/uU';
$re2 = '/([\d|\x{4e4b}]+)[\x{5df7}|\x{5f04}|\x{865f}|\x{6a13}|\x{5ba4}]/uU';

共同缺陷是3之8號抓的到,3號之8就會抓瞎
第2種寫法還有另一個問題,三號八樓這種也會抓不到
本篇文章回覆於2015-05-05 16:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

andyto202
檢舉此回應
所以
巷、弄、號、樓、室
這些都不要嗎??
本篇文章回覆於2015-05-05 21:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
不錯的參考

LaLa
檢舉此回應
我轉個彎來做這件事,首先我沒有要使用正則方式,因為它是中文(對於編碼這種事一向不要找自己麻煩),所以轉一下彎...



我的做法是,array string relpace array string,被置換的增加了一個chr(13) 的換行符號,最後再依換行符號去做陣列切割。
沒有使用正規表示式,但結果的精確度高,可以參考看看。
本篇文章回覆於2015-05-11 12:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
其實lala你的用法也是一種方式。
只是碰到的問題會比較多。

因為路名或是區域。也會碰上如「縣市」的字。
如果用你的方式來處理。則會需要更多的判斷式來處理後續的問題。
如「台南市新市區」來講。就會被切開成「台南市」「新市」「區」
這樣就不太好處理。
當然~~這也是一種方式,我之前也有考量過。
但我還是想說看看能不能用正則來處理。雖然我知道可能也會更困難。

迷路的部份我也正在考量中。可以抓字出來沒關係
本篇文章回覆於2015-05-13 11:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
最有價值解答

adonis
檢舉此回應
先前收集的,還沒看過供參:
http://www.dotblogs.com.tw/hatelove/archive/2012/06/05/parse-taiwan-address-with-regex.aspx
http://netivism.com.tw/article/147
本篇文章回覆於2015-05-19 11:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.