You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中多正则模式组合匹配及地址建筑编号提取问题

地址信息提取解决方案

1. 匹配多种写法的区域信息

要兼容region、reg.、r-n这类区域后缀变体,可利用正则的**或运算符(|)**组合多个匹配规则,同时兼容元素开头的空格:

import re

address = [' South region', ' district KTS', ' 4', ' app. 106', ' ent. 1', ' st. 15', ' North reg.', ' East r-n']

# 编译匹配多种区域后缀的正则
region_pattern = re.compile(r'\s*.+(region|reg\.|r-n)$')
# 筛选符合条件的区域元素
region = list(filter(region_pattern.match, address))
print(region)  # 输出: [' South region', ' North reg.', ' East r-n']
  • \s*:匹配元素开头任意数量的空格
  • .+:匹配区域名称部分的任意字符
  • (region|reg\.|r-n)$:精准匹配结尾的三种区域后缀,$确保匹配到元素末尾,避免误匹配

2. 提取建筑编号

针对纯数字(如4)或数字+字母+数字(如4k1)的建筑编号格式,可编写正则匹配以数字开头、由数字和字母组成的元素:

# 编译匹配建筑编号的正则
building_pattern = re.compile(r'^\s*[0-9]+[a-zA-Z0-9]*$')
# 筛选符合条件的建筑编号
building_num = list(filter(building_pattern.match, address))
print(building_num)  # 输出: [' 4']
  • ^\s*:匹配元素开头的空格
  • [0-9]+:确保编号以至少一个数字开头
  • [a-zA-Z0-9]*:允许后续出现任意数量的字母或数字,覆盖两种编号格式

内容的提问来源于stack exchange,提问作者Iren E

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 22:20:59