我想将完整的字符串与特定的模式匹配。比方说:
word = "aaaa"
test = re.match(r"^aaaa$", word) # this returns True
但是,如果该单词后跟换行符:
word = "aaaa\n"
test = re.match(r"^aaaa$", word) # Also returns True :(
但我想找到一种方法让它在最后一种情况下返回 False。有没有办法区分“\n”?
代替锚点^
and $
use \A
开始和\Z
对于结束:
>>> print re.match(r'\Aaaaa\Z', 'aaaa')
<_sre.SRE_Match object at 0x1014b9bf8>
>>> print re.match(r'\Aaaaa\Z', 'aaaa\n')
None
\A
匹配字符串的实际开头并且\Z
实际的结局只能是其中之一\A
and \Z
在多行字符串中,而$
可以在每一行中进行匹配。
我建议阅读这篇关于永久线锚的非常好的文章。
仅供参考,不像.NET
, Java
, PCRE
, Delphi
, PHP
in Python
\Z
仅匹配字符串的最末尾。Python 不支持\z
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)