当前位置:  开发笔记 > 编程语言 > 正文

为什么这个正则表达式只在Python的行开头匹配?

如何解决《为什么这个正则表达式只在Python的行开头匹配?》经验,为你挑选了1个好方法。

在Python中,我可以做到

import re
re.match("m", "mark")

我得到了预期的结果:

<_sre.SRE_Match object; span=(0, 1), match='m'>

但它只有在模式位于字符串的开头时才有效:

re.match("m", "amark")

None.关于这种模式需要它在字符串的开头 - 没有^或类似.实际上它在regex101上的工作正常.

Python有一些特殊的行为 - 请问如何禁用它?



1> hlt..:

来自以下文档re.match:

如果零个或多个字符在开始string匹配正则表达式pattern,返回一个对应的匹配对象.

使用re.search搜索整个字符串.

该文档甚至授予此问题自己的章,勾画出两者之间的差异:search()match()


*Repetitio est mater studiorum*.
推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有