Todo o equívoco sobre as strings brutas do python é que a maioria das pessoas pensa que a barra invertida (dentro de uma string bruta) é apenas um caractere regular como todas as outras. Não é. A chave para entender é a sequência de tutoriais deste python:
Quando um prefixo ' r ' ou ' R ' está presente, um caractere após uma barra invertida é incluído na string sem alteração e todas as barras invertidas são deixadas na string
Portanto, qualquer caractere após uma barra invertida faz parte da cadeia bruta. Depois que o analisador entra em uma sequência bruta (não Unicode) e encontra uma barra invertida, ele sabe que existem 2 caracteres (uma barra invertida e um caractere a seguir).
Deste jeito:
r'abc \ d ' compreende a, b, c, \, d
r'abc \ 'd' compreende a, b, c, \, ', d
r'abc \ '' compreende a, b, c, \, '
e:
r'abc \ ' compreende a, b, c, \,' mas não há uma citação final agora.
O último caso mostra que, de acordo com a documentação, agora um analisador não consegue encontrar a cotação de fechamento, pois a última cotação que você vê acima faz parte da string, ou seja, a barra invertida não pode ser a última aqui, pois 'devorará' o caracter de fechamento da string.