用于从杂乱地址中获取街道名称和号码的正则表达式
Regex for getting just name of street and number from messy address
我有这个乱七八糟的地址列表,有些是干净的有些不是:
Av. Chorrillos # 1759 Local 1082 Exterior Jumbo
Av. Balmaceda N° 2355 Local BS - 121 / Subterráneo sector servicios
Tarapaca N° 729
结构通常是name of street
+N°|#|nothing
+number
+extra stuff
我想删除这些额外的东西,以便上面列表的预期输出是:
Av. Chorrillos # 1759
Av. Balmaceda N° 2355
Tarapaca N° 729
我尝试使用字母和回顾的组合:
([a-zA-Z\s]+\d+)
但是 #
和 N°
给我带来了麻烦,所以我尝试也包括它们
([(\w|°|#)\s]+\d+)
但还是没有运气。
我知道地址上的正则表达式是一场噩梦,但任何符合上述三种情况的正则表达式都适合我列表的 95%,这对我来说已经足够了!
我将它与 python
regex
一起使用,以防万一。
您可以在 regex101
上找到地址列表和我的正则表达式尝试
(有些地址在 street + number
的相关信息之前有额外的信息,但我可以搞砸那些)
根据您的规格。我想出了这个正则表达式。
正则表达式: ^.*?(?:[N°#Nº]\s*)?\d+
解释:
^.*?
消耗字符串开头的所有内容。由于匹配是惰性的,它将匹配到下一部分 (?:[N°#Nº]\s*)?
(?:[N°#Nº]\s*)?
匹配可选的 N°#Nº
后跟零个或多个空格。
\d+
匹配数字。
我有这个乱七八糟的地址列表,有些是干净的有些不是:
Av. Chorrillos # 1759 Local 1082 Exterior Jumbo
Av. Balmaceda N° 2355 Local BS - 121 / Subterráneo sector servicios
Tarapaca N° 729
结构通常是name of street
+N°|#|nothing
+number
+extra stuff
我想删除这些额外的东西,以便上面列表的预期输出是:
Av. Chorrillos # 1759
Av. Balmaceda N° 2355
Tarapaca N° 729
我尝试使用字母和回顾的组合:
([a-zA-Z\s]+\d+)
但是 #
和 N°
给我带来了麻烦,所以我尝试也包括它们
([(\w|°|#)\s]+\d+)
但还是没有运气。
我知道地址上的正则表达式是一场噩梦,但任何符合上述三种情况的正则表达式都适合我列表的 95%,这对我来说已经足够了!
我将它与 python
regex
一起使用,以防万一。
您可以在 regex101
上找到地址列表和我的正则表达式尝试(有些地址在 street + number
的相关信息之前有额外的信息,但我可以搞砸那些)
根据您的规格。我想出了这个正则表达式。
正则表达式: ^.*?(?:[N°#Nº]\s*)?\d+
解释:
^.*?
消耗字符串开头的所有内容。由于匹配是惰性的,它将匹配到下一部分(?:[N°#Nº]\s*)?
(?:[N°#Nº]\s*)?
匹配可选的N°#Nº
后跟零个或多个空格。\d+
匹配数字。