Python正则表达式字符串匹配?
我在尝试将 javascript 正则表达式的经验转移到 Python 上遇到了很大的困难。
我只是想让这个工作:
print(re.match('e','test'))
...但它打印 None 。如果我这样做:
print(re.match('e','est'))
它匹配...默认情况下它是否匹配字符串的开头?当它匹配时,我如何使用结果?
我如何使第一个匹配?有比 python 网站提供的更好的文档吗?
I'm having a hell of a time trying to transfer my experience with javascript regex to Python.
I'm just trying to get this to work:
print(re.match('e','test'))
...but it prints None. If I do:
print(re.match('e','est'))
It matches... does it by default match the beginning of the string? When it does match, how do I use the result?
How do I make the first one match? Is there better documentation than the python site offers?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
re.match
隐式地将^
添加到正则表达式的开头。换句话说,它只匹配字符串的开头。re.search
将在所有位置重试。一般来说,我建议使用
re.search
并在需要时显式添加^
。http://docs.python.org/library/re.html
re.match
implicitly adds^
to the start of your regex. In other words, it only matches at the start of the string.re.search
will retry at all positions.Generally speaking, I recommend using
re.search
and adding^
explicitly when you want it.http://docs.python.org/library/re.html
我认为文档很清楚。
the docs is clear i think.