开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2040|回复: 13
收起左侧

[求助] 正则取省市区的问题

[复制链接]
结帖率:88% (44/50)
发表于 2017-8-31 15:20:00 | 显示全部楼层 |阅读模式   广东省揭阳市
1        True        201708301611350                                        山东省东营市广饶县           山东省东营市广饶县山东东营广饶开发区                吴金玉
2        True        201708301611351                                        重庆重庆市九龙坡区            重庆省重庆市九龙坡区重庆重庆市九龙破区石桥铺街道科园一路哈曼皇宫三楼                李琴
3        True        201708301611352                                        吉林省松原市宁江区             吉林省松原市宁江区宁江湾北门七号楼                王紫榆       
4        True        201708301611353                                        甘肃省兰州市永登县             甘肃省兰州市永登县兰州市城关镇民主街66号                张明薇       

这段数据中我要怎么用正则取出  

山东省 东营市 广饶县   xxxx地址  姓名
重庆 重庆市 龙坡区       xxxx地址 姓名
吉林省 松原市 宁江区   xxxx地址  姓名
甘肃省 兰州市 永登县   xxxx地址  姓名

本人对正则还算有点小了解无奈搞不定 取出来的跟我要的有些许误差  所以特来请教精通正则的朋友帮忙回答下.

卡在重庆这里 少了个省 其他的三个都好取  就是重庆这一条信息不知道要怎么弄才能既能匹配出全部

结帖率:100% (26/26)
发表于 2017-8-31 15:25:25 | 显示全部楼层   天津市天津市
\d{10,15}\s+(\S+)\s+(\S+)\s+(\S+)\s+

点评

我要的是取出 例如 【山东省 为子匹配1】 【东营省 为子匹配2】 【 广饶县 为子匹配3】 【xxxx地址 为子匹配4】 【姓名 为子匹配5】   广东省揭阳市  发表于 2017-8-31 15:33
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 1 天

发表于 2017-8-31 15:29:28 | 显示全部楼层   江苏省徐州市
True\s+(\d+)\s+(.*?)\s+(.*?)\s+(.*?)\s+
01.png

评分

参与人数 1好评 +1 精币 +2 收起 理由
pnccm + 1 + 2 奉上小小红包希望笑纳

查看全部评分

回复 支持 反对

使用道具 举报

结帖率:88% (44/50)

签到天数: 10 天

 楼主| 发表于 2017-8-31 15:30:35 | 显示全部楼层   广东省揭阳市
易正易则 发表于 2017-8-31 15:25
\d{10,15}\s+(\S+)\s+(\S+)\s+(\S+)\s+

亲,请看清楚我要去取出的数据要求,也许是我表达的不够清楚,但你这个也差的太远了,
回复 支持 反对

使用道具 举报

结帖率:94% (32/34)
发表于 2017-8-31 15:35:17 | 显示全部楼层   河南省商丘市
\d{15,20}\s+(\S+)\s+(\S+)\s+(\S+)\s+

评分

参与人数 1精币 +1 收起 理由
pnccm + 1 互相讨论,共同进步

查看全部评分

回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 3 天

发表于 2017-8-31 15:45:11 | 显示全部楼层   广东省东莞市
亲,总共才几个直辖市,加一个子程序判断嘛,是这几个另外取不就OK了?
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 3 天

发表于 2017-8-31 15:47:16 | 显示全部楼层   广东省东莞市
if(是否为直辖市()){
  直辖市正则取出()
     }else{
  非直辖市正则取出()
}

评分

参与人数 1好评 +1 精币 +2 收起 理由
pnccm + 1 + 2 方法是可以,但能直接取出来就更好了

查看全部评分

回复 支持 反对

使用道具 举报

结帖率:88% (44/50)

签到天数: 10 天

 楼主| 发表于 2017-8-31 16:09:45 | 显示全部楼层   广东省揭阳市
NiceGum 发表于 2017-8-31 15:29
True\s+(\d+)\s+(.*?)\s+(.*?)\s+(.*?)\s+

1.png
我要的是取出 例如 【山东省 为子匹配1】 【东营省 为子匹配2】 【 广饶县 为子匹配3】 【xxxx地址 为子匹配4】 【姓名 为子匹配5】  
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 1 天

发表于 2017-8-31 16:19:28 | 显示全部楼层   江苏省徐州市
pnccm 发表于 2017-8-31 16:09
我要的是取出 例如 【山东省 为子匹配1】 【东营省 为子匹配2】 【 广饶县 为子匹配3】 【xxxx地址 为 ...

你传的好像不是原始数据

点评

我这个是删掉了电话号码   广东省揭阳市  发表于 2017-8-31 17:17
回复 支持 反对

使用道具 举报

结帖率:100% (20/20)
发表于 2017-8-31 16:47:07 | 显示全部楼层   内蒙古自治区呼和浩特市
感觉电脑程序还没智能到这地步……最少你得告诉它有哪些直辖市吧?然后判断了是直辖市怎么样,不是怎么样……而且、。。。重庆省???什么鬼

补充内容 (2017-8-31 18:03):
所你说你需要判断……反正直辖市就那么几个,一次判断下。。。。不然程序可不知道是不是直辖市   没有固定格式   没法正则的

点评

例如重庆 后面没有省 就直接取出重庆 然后取出重庆市 想山东省后面有个省就取出山东省 东营市   广东省揭阳市  发表于 2017-8-31 17:18
回复 支持 反对

使用道具 举报

  高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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