设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 34261|回复: 1
打印 上一主题 下一主题

【Python 第59课】 正则表达式(5)

[复制链接]

0

主题

0

好友

48

积分

新手上路

Rank: 1

楼主
发表于 2015-7-9 20:26:15 |显示全部楼层
老师您好,发现一个问题,不知道怎么解决
(021)88776543
010-55667890
02584453362
0571 66345673
用下列表达式匹配
\(0\d{2,3}\)\d{7,8}|0\d{2,3}[ -]?\d{7,8}
第三个电话号码,会在0之后先匹配3位,然后后面再匹配8位,没办法先匹配2位,再匹配7位,导致最后一个号码不能匹配,应该描述清楚了吧?
回复

使用道具 举报

0

主题

0

好友

48

积分

新手上路

Rank: 1

沙发
发表于 2015-7-10 23:20:12 |显示全部楼层
crossin先生 发表于 2015-7-10 00:31
它就是这样可以匹配啊,如果你强行要匹配2+7,就不能给3和8的选项,不然都会尽可能匹配的 ...

原来是我把所有号码连一起写了,彼此加了空格就好了。
还是要问一下,号码收尾连在一起就匹配错了,想了好久无果。
" (021)88776543010-55667890025844533620571 66345673 "
结果是['(021)88776543'  '010-55667890'  '025844533620']
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-3 21:56 , Processed in 0.016985 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部