Wyjątki wewnątrz zestawów w wyrażeniach regularnych Pythona

Wiesz już, że znaki specjalne wewnątrz [] stają się zwykłymi znakami. Istnieją jednak wyjątki: jeśli potrzebujesz nawiasów kwadratowych jako znaków wewnątrz [ ] - to należy je poprzedzić odwrotnym ukośnikiem. Dla przykładu w następnym kodzie wzorzec wyszukiwania wygląda tak: pomiędzy iksami stoi nawias kwadratowy:

pythontxt = 'x]x xax x[x x1x'
res = re.sub('x[\[\]]x', '!', txt)

print(res)

W rezultacie do zmiennej zostanie zapisane następujące:

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

Dany jest ciąg:

pythontxt = 'x[]z x[[]]z x()z'

Napisz wyrażenie regularne, które znajdzie wszystkie słowa według wzorca: litera 'x', następnie nawiasy kwadratowe dowolną liczbę razy, następnie litera 'z'.

Задание 2

Dany jest ciąg:

pythontxt = 'x[]z x{}z x.z x()z x([])z'

Napisz wyrażenie regularne, które znajdzie wszystkie słowa według wzorca: litera 'x', następnie dowolna liczba dowolnych nawiasów, następnie litera 'z'.