\Z
соответствует концу строки, а $
соответствует концу строки или непосредственно перед новой строкой в конце строки и показывает другое поведение в re.MULTILINE
. Подробную информацию см. В документации по синтаксису .
>>> s="1234\n"
>>> re.search("^\d+\Z",s)
>>> s="1234"
>>> re.search("^\d+\Z",s)
<_sre.SRE_Match object at 0xb762ed40>