Art*_*ite 7 python regex newline match python-3.x
我不知道如何匹配一个字符串,但如果它有一个尾随换行符 ( \n),它似乎自动剥离了:
import re
print(re.match(r'^foobar$', 'foobar'))
# <_sre.SRE_Match object; span=(0, 6), match='foobar'>
print(re.match(r'^foobar$', 'foobar\n'))
# <_sre.SRE_Match object; span=(0, 6), match='foobar'>
print(re.match(r'^foobar$', 'foobar\n\n'))
# None
Run Code Online (Sandbox Code Playgroud)
对我来说,第二种情况也应该返回None.
当我们用$, like设置模式的结尾时^foobar$,它应该只匹配一个字符串 like foobar,而不是foobar\n。
我错过了什么?
rev*_*evo 11
您更有可能不需要$,而是\Z:
>>> print(re.match(r'^foobar\Z', 'foobar\n'))
None
Run Code Online (Sandbox Code Playgroud)
\Z 只匹配字符串的末尾。