"\d"
is same as "\\d"
because there's no escape sequence for d
. But it is not clear for the reader of the code.
But, consider \t
. "\t"
represent tab chracter, while r"\t"
represent literal \
and t
character.
So use raw string when you mean literal \
and d
:
re.compile(r"\d{3}")
or escape backslash explicitly:
re.compile("\\d{3}")