设为首页收藏本站

Crossin的编程教室

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

【Python 第57课】 正则表达式(3)

[复制链接]

0

主题

0

好友

49

积分

新手上路

Rank: 1

楼主
发表于 2014-6-22 20:28:35 |显示全部楼层
请教一下,我为什么一用\b,运行结果就会是not match?
import re
#text="Hi,I am Shirley Hilton,I am his wife."
text="site sea sue sweet see case sse ssee loses"
m=re.findall("\bs\S*?e\b",text)

if m:
    print m
else:
    print "not match"

代码如上,只要不用"\b",都是可以正常运行的,麻烦懂的解释一下吧
回复

使用道具 举报

0

主题

0

好友

49

积分

新手上路

Rank: 1

沙发
发表于 2014-6-23 18:06:27 |显示全部楼层
crossin先生 发表于 2014-6-22 23:15
字符里的\会被转义。\b是有另有含义。所以要么用\\b,(用\\转义成为\)。要么用r"\b"替代"\b",带前缀r ...

好的,谢谢,解决了!
回复

使用道具 举报

0

主题

0

好友

49

积分

新手上路

Rank: 1

板凳
发表于 2014-6-23 21:57:59 |显示全部楼层
再问一个问题:前题答案用\bs\S*e\b,是不是也可以?
回复

使用道具 举报

0

主题

0

好友

49

积分

新手上路

Rank: 1

地板
发表于 2014-6-24 22:09:05 |显示全部楼层
crossin先生 发表于 2014-6-24 19:03
但如果有sxxxe这种就不行了

可以啊,为什么我也能匹配出来?
还有多一个?有什么区别吗?
?表示0个或1个,*表示0个或多个,两者放一块不还是0个或多个吗?
回复

使用道具 举报

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

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

GMT+8, 2024-5-3 00:09 , Processed in 0.016059 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部