首页 > 解决方案 > 如何应用正则表达式来获得具有近似剩余地址匹配的确切门牌号

问题描述

import re

list =[]

for element in address1:

    z = re.match("^\d+", element)

    if z:

        list.append(z.string)

get_best_fuzzy("SATYAGRAH;OPP. RAJ SUYA BUNGLOW", list)

我已经尝试了上面的代码,它给了我文本文件中地址的大致地址匹配。如何获得与近似休息地址匹配的确切门牌号匹配。我的地址格式为:1004;杰伊湿婆塔;近阿扎德协会;Ambawadi 艾哈迈达巴德 古吉拉特邦 380015 印度

1004; 杰希瓦塔;近阿扎德协会;Ambawadi 艾哈迈达巴德 古吉拉特邦 380015 印度

101 甘布斯大厦;四个平房;对面的好牧羊人教堂 ANDHERI 西孟买 马哈拉施特拉邦 400053 印度

101/32-B;SHREE GANESH 复杂 VEER SAVARKAR 块;沙卡普尔; EASE DEL HI DELHI 德里 110092 印度

标签: pythonregexfuzzy

解决方案


你可以试试这个。

代码 :

import re

address = ["1004; Jayshiva Tower; Near Azad Society; Ambawadi Ahmedabad Gujarat 380015 India",
"101 GAMBS TOWER; FOUR BUNGLOWS;OPPOSITE GOOD SHEPHERD CHURCH ANDHERI WEST MUMBAI Maharashtra 400053 India",
"101/32-B; SHREE GANESH COMPLEX VEER SAVARKAR BLOCK; SHAKARPUR; EASE DEL HI DELHI Delhi 110092 India"]

for i in address:
    z = re.match("^([^ ;]+)", i)
    print(z.group())

输出 :

1004                                                                                                                    
101                                                                                                                     
101/32-B

推荐阅读