设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【Python 第58课】 正则表达式(4)

[复制链接]

0

主题

0

好友

200

积分

中级会员

Rank: 3Rank: 3

24#
发表于 2016-1-8 01:05:04 |只看该作者
本帖最后由 周末晒被子 于 2016-1-8 02:23 编辑
fl0w 发表于 2013-9-25 16:00
r'[(]?0\d{2,3}[)]?[-]?[ ]?\d{8}'     #这样通过
r'[(]?0\d{2,3}[)-]?[ ]?\d{8}'           #这样通过
r'[ ...

厉害,我也要掌握这种摸索的思维。看着都爽。

第3条不通过,应该是因为空格符虽然能够放进 [] 之中,但是却不能够放在[]中3个特殊字符的的末尾位置,如17楼同学所说。

第5条不通过,应该是因为 ( 不能直接跟 ? ,应该把 ( 放进 [] 之中再跟 ? ,这是从第1条和第5条对比得出的想法。
回复

使用道具 举报

2

主题

0

好友

216

积分

中级会员

Rank: 3Rank: 3

23#
发表于 2014-7-17 13:35:01 |只看该作者
crossin先生 发表于 2014-7-16 19:32
这样就限定了必须是文本的开头和结尾。除非只有一个号码才能匹配

嗯,原来是文本的开头和结尾啊~谢谢先生
回复

使用道具 举报

2

主题

0

好友

216

积分

中级会员

Rank: 3Rank: 3

22#
发表于 2014-7-17 13:34:04 |只看该作者
crossin先生 发表于 2014-7-16 19:32
这样就限定了必须是文本的开头和结尾。除非只有一个号码才能匹配

嗯,原来是文本的开头和结尾啊~谢谢先生
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

21#
发表于 2014-7-16 19:32:56 |只看该作者
toddlerya 发表于 2014-7-16 12:22
r"[(]?\d{1,4}[)]?[-]?\s?\d{8}"
为什么这样就不对了
r"^[(]?\d{1,4}[)]?[-]?\s?\d{8}$"

这样就限定了必须是文本的开头和结尾。除非只有一个号码才能匹配
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

2

主题

0

好友

216

积分

中级会员

Rank: 3Rank: 3

20#
发表于 2014-7-16 12:22:55 |只看该作者
r"[(]?\d{1,4}[)]?[-]?\s?\d{8}"
为什么这样就不对了
r"^[(]?\d{1,4}[)]?[-]?\s?\d{8}$"
回复

使用道具 举报

0

主题

1

好友

36

积分

新手上路

Rank: 1

19#
发表于 2014-7-3 15:20:49 |只看该作者
m = "(021)88776543\n010-55667890\n02584453362\n0571 66345673"
n=re.findall(r"\S{4,5}[ ]?\d*",m)
print n
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

18#
发表于 2013-11-3 21:11:05 |只看该作者
blake 发表于 2013-11-2 17:11
为什么8楼的第三种不能通过呢?
[ )-]和[) -]能通过

我也觉得没问题
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

1

好友

129

积分

注册会员

Rank: 2

17#
发表于 2013-11-2 17:11:25 |只看该作者
本帖最后由 blake 于 2013-11-2 17:16 编辑

为什么8楼的第三种不能通过呢?
r'[(]?0\d{2,3}[)- ]?\d{8}'                 #这样不通过

[ )-]和[) -]能通过
回复

使用道具 举报

0

主题

0

好友

152

积分

注册会员

Rank: 2

16#
发表于 2013-10-2 00:36:47 |只看该作者
\(?0\d{2,3}[)-]?\d{7,8}
回复

使用道具 举报

0

主题

0

好友

84

积分

注册会员

Rank: 2

15#
发表于 2013-9-30 13:09:30 |只看该作者
crossin先生 发表于 2013-9-30 10:53
有个小问题,正则里如果需要表示字符而不是特殊符号,应该用\转义,而不是加引号。这里加了引号就只是表 ...

谢谢,又涨姿势了~
回复

使用道具 举报

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

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

GMT+8, 2024-5-21 21:33 , Processed in 0.030400 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部