鱼C论坛

 找回密码
 立即注册
查看: 1151|回复: 5

[已解决]使用正则表达式拆分一个地址信息

[复制链接]
发表于 2022-2-13 11:45:17 | 显示全部楼层 |阅读模式
1鱼币
本帖最后由 zzong2019 于 2022-2-13 11:56 编辑

我现在有一个地址信息,格式基本上是以**省/自治区**市/自治州/地区/盟**区/县/自治县/旗/自治旗**街道/乡/镇**小区名称/村/街/路**号这样的,我需要使用正则表达式进行匹配,将其切分后返回一个字典,我的写法如下:
import re
string='浙江省杭州市上城区复兴街道复兴南苑'
expr=r'''
(?P<province>[\u4e00-\u9fa5]{2,6}?(?:省|自治区)){0,1}
(?P<city>[\u4e00-\u9fa5]{2,6}?(?:市|自治州|地区|盟)){0,1}
(?P<distinct>[\u4e00-\u9fa5]{2,6}?(?:区|县|自治县|旗|自治旗)){0,1}
(?P<street>[\u4e00-\u9fa5]{2,6}?(?:乡|镇|街道)){0,1}
(?P<community>[\u4e00-\u9fa5]*){0,1}
'''
re.search(expr,string).groupdict()
报错如下:AttributeError: 'NoneType' object has no attribute 'groupdict'
我知道这个就是说我用正则表达式没有匹配出来数据,因此返回的是None,无法使用groupdict方法,但是我不知道上面的正则表达式写法是错在哪里,可否请各位大佬指点一下呢?
最佳答案
2022-2-13 11:45:18
本帖最后由 isdkz 于 2022-2-13 12:21 编辑

因为你用了''',它会给你换行的地方自动加上'\n',你多了换行符当然匹配不上了,

你想让它忽略你的换行的话加上 re.X ,即
re.search(expr,string, re.X).groupdict()

还有你想看到结果的话用print打印一下
print(re.search(expr,string, re.X).groupdict())


最佳答案

查看完整内容

因为你用了''',它会给你换行的地方自动加上'\n',你多了换行符当然匹配不上了, 你想让它忽略你的换行的话加上 re.X ,即 还有你想看到结果的话用print打印一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-13 11:45:18 | 显示全部楼层    本楼为最佳答案   
本帖最后由 isdkz 于 2022-2-13 12:21 编辑

因为你用了''',它会给你换行的地方自动加上'\n',你多了换行符当然匹配不上了,

你想让它忽略你的换行的话加上 re.X ,即
re.search(expr,string, re.X).groupdict()

还有你想看到结果的话用print打印一下
print(re.search(expr,string, re.X).groupdict())


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-13 12:17:16 | 显示全部楼层
建议不要发悬赏贴,悬赏贴没有技术值拿
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-2-13 12:52:18 | 显示全部楼层
isdkz 发表于 2022-2-13 12:10
因为你用了''',它会给你换行的地方自动加上'\n',你多了换行符当然匹配不上了,

你想让它忽略你的换行 ...

你回答的好清楚啊!非常感谢~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-13 13:04:24 | 显示全部楼层
zzong2019 发表于 2022-2-13 12:52
你回答的好清楚啊!非常感谢~~~

不客气,你的正则表达式功底挺深厚的嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-2-13 13:08:00 | 显示全部楼层
isdkz 发表于 2022-2-13 13:04
不客气,你的正则表达式功底挺深厚的嘛

也是参考人家的代码学的啦,今天刚完全搞懂这段代码的含义~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 06:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表