Technically, any odd number of backslashes, as described in the documentation.
>>> r'\' File '<stdin>', line 1 r'\' ^ SyntaxError: EOL while scanning string literal >>> r'\\' '\\\\' >>> r'\\\' File '<stdin>', line 1 r'\\\' ^ SyntaxError: EOL while scanning string literal
It seems like the parser could just treat backslashes in raw strings as regular characters (isn’t that what raw strings are all about?), but I’m probably missing something obvious.
The reason is explained in the part of that section which I highlighted in bold:
So raw strings are not 100% raw, there is still some rudimentary backslash-processing.