Может кто-нибудь объяснить, почему пример 1 ниже работает, когда префикс r не используется? Я думал, что префикс r должен использоваться всякий раз, когда используются escape-последовательности. Пример 2 и пример 3 демонстрируют это.
# 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
