Следующий код (в отличие от других ответов на основе регулярных выражений) делает именно то, что вы говорите, что вы хотите: заменить все последовательности более 2 одинаковых символов на 2 одинаковых.
>>> import re
>>> text = 'the numberr offf\n\n\n\ntheeee beast is 666 ...'
>>> pattern = r'(.)\1{2,}'
>>> repl = r'\1\1'
>>> re.sub(pattern, repl, text, flags=re.DOTALL)
'the numberr off\n\nthee beast is 66 ..'
>>>
Возможно, вы на самом деле не хотите применять эту обработку к некоторым или ко всем: цифрам, пунктуации, пробелам, символам табуляции, символам новой строки и т.д. В этом случае вам нужно заменить .
на более узкий подшаблон.
Например:
ASCII буквы: [A-Za-z]
Любые буквы в зависимости от локали: [^\W\d_]
в сочетании с флагом re.LOCALE