⊗pyPmRECB 37 of 129 menu

Nawiasy klamrowe w wyrażeniach regularnych Pythona

Operatory '+', '*', '?' są przydatne, jednak nie można za ich pomocą określić konkretnej liczby powtórzeń. W tym przypadku z pomocą przychodzi operator {}.

Działa on w następujący sposób: {5} - pięć powtórzeń, {2,5} – powtarza się od dwóch do pięciu (oba włącznie), {2,} - powtarza się dwa lub więcej razy. Spójrz na przykłady:

Przykład

W tym przykładzie wzorzec wyszukiwania wygląda następująco: litera 'x', litera 'a' jeden lub dwa razy, litera 'x':

txt = 'xx xax xaax xaaax' res = re.sub('xa{1,2}x', '!', txt) print(res)

Wynik wykonania kodu:

'xx ! ! xaaax'

Przykład

W tym przykładzie wzorzec wyszukiwania wygląda następująco: litera 'x', litera 'a' dwa razy lub więcej, litera 'x':

txt = 'xx xax xaax xaaax' res = re.sub('xa{2,}x', '!', txt) print(res)

Wynik wykonania kodu:

'xx xax ! !'

Przykład

W tym przykładzie wzorzec wyszukiwania wygląda następująco: litera 'x', litera 'a' trzy razy, litera 'x':

txt = 'xx xax xaax xaaax' res = re.sub('xa{3}x', '!', txt) print(res)

Wynik wykonania kodu:

'xx xax xaax !'

Przykład

W tym przykładzie wzorzec wyszukiwania wygląda następująco: litera 'a' dziesięć razy:

txt = 'aaa aaaaaaaaaa aaa' res = re.sub('a{10}', '!', txt) print(res)

Wynik wykonania kodu:

'aaa ! aaa'

Przykład

W tym przykładzie występuje taki wzorzec: litera 'x', litera 'a' trzy razy i mniej, litera 'x'. Aby go zrealizować, przed cyfrą 3 można nie podawać liczby, a postawić po prostu przecinek:

txt = 'xx xax xaax xaaax' res = re.sub('xa{,3}x', '!', txt) print(res)

Wynik wykonania kodu:

'! ! ! !'

Przykład

Zero przed 3 również jest dopuszczalne:

txt = 'xx xax xaax xaaax' res = re.sub('xa{0,3}x', '!', txt) print(res)

Wynik wykonania kodu:

'! ! ! !'

Zadania praktyczne

Dany jest ciąg znaków:

txt = 'aa aba abba abbba abbbba abbbbba'

Napisz wyrażenie regularne, które znajdzie ciągi 'abba', 'abbba', 'abbbba' i tylko je.

Dany jest ciąg znaków:

txt = 'aa aba abba abbba abbbba abbbbba'

Napisz wyrażenie regularne, które znajdzie ciągi typu 'aba', w których 'b' występuje mniej niż 3 razy (włącznie).

Dany jest ciąg znaków:

txt = 'aa aba abba abbba abbbba abbbbba'

Napisz wyrażenie regularne, które znajdzie ciągi typu 'aba', w których 'b' występuje więcej niż 4 razy (włącznie).

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć