风过无痕 发表于 2021-3-29 11:30:23

[已解决]求个正则,提取省市区

本帖最后由 风过无痕 于 2021-3-29 21:20 编辑

山西省忻州市忻府区山西省忻州市忻府区播明镇新建北路梨花东街学府苑
山东省潍坊市寿光市光明路10号玉馨苑(西区)
"辽宁省丹东市东港市桥东鑫悦家园AA区19号楼
"
内蒙古自治区兴安盟乌兰浩特市宇科多蓝一期南门西侧八渡造型
山东省泰安市新泰市山东省泰安市新泰市徂阳大街与泰楼线交叉路口往东约50米兴隆社区

源数据如上:
想得到如下格式的数据:
xx省
xx市
xx区
xxxxxxx

通过我自己的正则
(?m)([\x{4e00}-\x{9fa5}]+[省市区])(.+[市州旗])(.+?[市区县乡镇街道])(.+)
提取的也不全,源数据有的数据也不规范,比如
“山东省泰安市新泰市山东省泰安市新泰市徂阳大街与泰楼线交叉路口往东约50米兴隆社区”
“山西省忻州市忻府区山西省忻州市忻府区播明镇新建北路梨花东街学府苑”,
这两个数据,得出的数据结构是这样的
+++++++++++++++++++++
山东省泰安市新泰市山东省泰安市
新泰市
徂阳大街
与泰楼线交叉路口往东约50米兴隆社区

山西省忻州市忻府区山西省
忻州市
忻府区
播明镇新建北路梨花东街学府苑
+++++++++++++++++++++
这样的不正确

正确的是这样处理:
取到省市区后,单独存放,剩下的数据提取完省市区以后的数据可以放到一块

比如如下两例
+++++++++++++++++

一般结果:
山东省
泰安市
新泰市
山东省泰安市新泰市徂阳大街与泰楼线交叉路口往东约50米兴隆社区
最佳结果:
山东省
泰安市
新泰市
徂阳大街与泰楼线交叉路口往东约50米兴隆社区

一般结果:
山西省
忻州市
忻府区
山西省忻州市忻府区播明镇新建北路梨花东街学府苑
最佳结果:
山西省
忻州市
忻府区
播明镇新建北路梨花东街学府苑
+++++++++++++++++
整的都快郁闷了

最新进展:
不费事了,找地址清洗接口解决了,快宝开放平台,有个地址清洗的接口有次数限制,可以免费用












afan 发表于 2021-3-29 12:05:48


Highlight code by AuREHelper
(?m)^\h*"?(.+[省市区]|.+自治区)(.+[市州旗])(.{2,4}区|.+?[市县乡镇]|.+?街道|)(.+?)"?$

风过无痕 发表于 2021-3-29 12:46:13

本帖最后由 风过无痕 于 2021-3-29 12:48 编辑

afan 发表于 2021-3-29 12:05

山西省忻州市忻府区山西省
忻州市
忻府区
播明镇新建北路梨花东街学府苑
劳烦afan帮忙再看下,我重新编辑了下帖子,之前着急描述的不清楚。下面是想得到的数据,但是用现在的正则提取的结果和下面的不一样


一般结果:
山西省
忻州市
忻府区
山西省忻州市忻府区播明镇新建北路梨花东街学府苑

最佳结果:
山西省
忻州市
忻府区
播明镇新建北路梨花东街学府苑

afan 发表于 2021-3-29 13:09:30

不要修改原提问内容,否则跟帖毫无意义。

风过无痕 发表于 2021-3-29 13:49:02

afan 发表于 2021-3-29 13:09
不要修改原提问内容,否则跟帖毫无意义。

好的,谢谢,下次注意
页: [1]
查看完整版本: [已解决]求个正则,提取省市区