Quelqu'un peut-il expliquer pourquoi l'exemple 1 ci-dessous fonctionne, alors que le préfixe r
n'est pas utilisé ?
Je pensais que le préfixe r
doit être utilisé chaque fois que des séquences d'échappement sont utilisées.
Exemple 2 et exemple 3 le démontrent.
# example 1
import re
print (re.sub('\s+', ' ', 'hello there there'))
# prints 'hello there there' - not expected as r prefix is not used
# example 2
import re
print (re.sub(r'(\b\w+)(\s+\1\b)+', r'\1', 'hello there there'))
# prints 'hello there' - as expected as r prefix is used
# example 3
import re
print (re.sub('(\b\w+)(\s+\1\b)+', '\1', 'hello there there'))
# prints 'hello there there' - as expected as r prefix is not used