Specyfika cyrylicy w wyrażeniach regularnych Pythona

Wielką zaletą wyrażeń regularnych w Pythonie jest to, że znaki cyrylickie wchodzą w skład grupy \w. Zamieńmy wszystkie litery łacińskie i cyrylickie w następującym ciągu:

pythontxt = 'x232x 456 xax xтекстx'
res = re.sub('x[\w]*x', '!', txt)

print(res)

Wynik wykonania kodu:

python'! 456 ! !'

Litery cyrylickie można również wyszukiwać za pomocą grupy w nawiasach kwadratowych: [а-я]. Ale jest z tym problem - nie uwzględni ona litery 'ё'. Aby ją dołączyć, należy dopisać tę literę do grupy:

pythonres = re.sub('x[а-яё]*x', '!', txt)
print(res)

Wynik wykonania kodu:

python'! 456 xax !'
Задание 1

Dany jest ciąg:

pythontxt = 'wйw wяw wёw wqw'

Napisz wyrażenie regularne, które znajdzie ciągi według wzorca: na brzegach stoją litery 'w', a między nimi - litera cyrylicy.

Задание 2

Dany jest ciąg:

pythontxt = 'ааа ббб ёёё ззз ййй ААА БББ ЁЁЁ ЗЗЗ ЙЙЙ'

Napisz wyrażenie regularne, które znajdzie wszystkie słowa według wzorca: dowolna litera cyrylicka dowolną liczbę razy.