Python Regex - 使用换行符拒绝字符串

Edu*_*ida 3 python regex newline

我想将完整的字符串与特定模式匹配.让我们说:

word = "aaaa"
test = re.match(r"^aaaa$", word) # this returns True
Run Code Online (Sandbox Code Playgroud)

但是,如果单词后跟换行符:

word = "aaaa\n"
test = re.match(r"^aaaa$", word) # Also returns True :(
Run Code Online (Sandbox Code Playgroud)

但我希望找到一种方法让它在最后一种情况下返回False.有没有办法区分"\n"?

anu*_*ava 5

取而代之的锚^$使用\A的开始和\Z最终:

>>> print re.match(r'\Aaaaa\Z', 'aaaa')
<_sre.SRE_Match object at 0x1014b9bf8>

>>> print re.match(r'\Aaaaa\Z', 'aaaa\n')
None
Run Code Online (Sandbox Code Playgroud)

\A匹配字符串的实际开始和\Z实际结束,\A并且\Z在多行字符串中只能有一个和多个字符串,而$在每一行中可以匹配.

我建议阅读这篇关于永久线锚的非常好的文章.

仅供参考不像.NET,Java,PCRE,Delphi,PHPPython \Z仅在字符串的最后比赛.Python不支持\z.