Método subn em expressões regulares do Python

O método subn realiza a substituição de caracteres, especificados na expressão regular, e retorna uma tupla, composta pelo resultado e pelo número de substituições realizadas. No primeiro parâmetro do método especificamos a expressão regular que será buscada, no segundo parâmetro - por o que a substituiremos. No terceiro parâmetro definimos a string. No quarto parâmetro opcional definimos o número de substituições:

pythonre.subn(o que substituímos, por que substituímos, onde substituímos, [número de substituições])

Suponha que temos uma string:

pythontxt = '123 456 789'

Vamos aplicar o método subn à nossa string:

pythontxt = '123 456 789'
res = re.subn('\d', '!', txt)

print(res)

Após a execução do código, será exibida a string modificada e o número de substituições realizadas nela:

python('!!! !!! !!!', 9)
Задание 1

Dada a string:

pythontxt = 'aaa bbb 123 www'

Substitua nela todas as letras que se repetem várias vezes consecutivas e descubra quantas substituições foram feitas.

Задание 2

Dada a string:

pythontxt = 'aaa @@@ 123w'

Substitua nela todos os caracteres que NÃO são letras nem dígitos, que se repetem várias vezes consecutivas e descubra quantas substituições foram feitas.