2011-09-30 105 views
28

我有一段时间试图将我的经验与JavaScript正则表达式转移到Python。Python的正则表达式字符串匹配?

我只是试图让这个工作:

print(re.match('e','test')) 

...但它打印无。如果我这样做:

print(re.match('e','est')) 

它匹配...它默认匹配字符串的开头吗?当它匹配时,我如何使用结果?

我该如何进行第一场比赛?是否有更好的文档比python网站提供?

回答

53

re.match隐含地将^添加到您的正则表达式的开始。换句话说,它只匹配字符串的开头。

re.search将在所有位置重试。

一般而言,我建议使用re.search并在需要时明确添加^

http://docs.python.org/library/re.html

+1

微妙的行为。 –

9

的文档是明确的,我认为。

re.match(图案,字符串[,标志])¶

If zero or more characters **at the beginning of string** match the 

正则表达式模式,返回一个对应的MatchObject 实例。如果字符串与模式不匹配,则返回None;注意 这与零长度匹配不同。

相关问题