Метод subn в регулярных выражениях Python

Метод subn проводит замену символов, заданных в регулярке и возвращает кортеж, состоящий из результата и количества сделанных замен. В первом параметре метода указываем регулярку, которую будем искать, во втором параметре - на что ее меняем. В третьем параметре задаем строку. В четвертом необязательном параметре задаем количество замен:

pythonre.subn(что меняем, на что меняем, где меняем, [кол-во замен])

Пусть у нас есть строка:

pythontxt = '123 456 789'

Давайте применим метод subn к нашей строке:

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

print(res)

После выполнения кода выведется измененная строка и количества сделанных в ней замен:

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

Дана строка:

pythontxt = 'aaa bbb 123 www'

Замените в ней все буквы, повторяющиеся несколько раз подряд и узнайте сколько замен было сделано.

Задание 2

Дана строка:

pythontxt = 'aaa @@@ 123w'

Замените в ней все НЕ буквы и цифры, повторяющиеся несколько раз подряд и узнайте сколько замен было сделано.