⊗pyPmRECB 37 of 129 menu

Složené závorky v regulárních výrazech Pythonu

Operátory '+', '*', '?' jsou užitečné, ale nelze jimi určit konkrétní počet opakování. V tomto případě vám pomůže operátor {}.

Funguje následovně: {5} - pět opakování, {2,5} – opakuje se dvakrát až pětkrát (včetně obou), {2,} - opakuje se dvakrát a vícekrát. Podívejte se na příklady:

Příklad

V tomto příkladu vypadá vyhledávací vzor takto: písmeno 'x', písmeno 'a' jednou nebo dvakrát, písmeno 'x':

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

Výsledek provedení kódu:

'xx ! ! xaaax'

Příklad

V tomto příkladu vypadá vyhledávací vzor takto: písmeno 'x', písmeno 'a' dvakrát a vícekrát, písmeno 'x':

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

Výsledek provedení kódu:

'xx xax ! !'

Příklad

V tomto příkladu vypadá vyhledávací vzor takto: písmeno 'x', písmeno 'a' třikrát, písmeno 'x':

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

Výsledek provedení kódu:

'xx xax xaax !'

Příklad

V tomto příkladu vypadá vyhledávací vzor takto: písmeno 'a' desetkrát:

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

Výsledek provedení kódu:

'aaa ! aaa'

Příklad

V tomto příkladu existuje takový vzor: písmeno 'x', písmeno 'a' třikrát a méněkrát, písmeno 'x'. Abychom jej realizovali, před číslici 3 lze neuvést číslo, ale jednoduše psát čárku:

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

Výsledek provedení kódu:

'! ! ! !'

Příklad

Nula před 3 je také přípustná:

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

Výsledek provedení kódu:

'! ! ! !'

Praktické úlohy

Je dán řetězec:

txt = 'aa aba abba abbba abbbba abbbbba'

Napište regulární výraz, který najde řetězce 'abba', 'abbba', 'abbbba' a pouze je.

Je dán řetězec:

txt = 'aa aba abba abbba abbbba abbbbba'

Napište regulární výraz, který najde řetězce tvaru 'aba', ve kterých se 'b' vyskytuje méně než 3-krát (včetně).

Je dán řetězec:

txt = 'aa aba abba abbba abbbba abbbbba'

Napište regulární výraz, který najde řetězce tvaru 'aba', ve kterých se 'b' vyskytuje více než 4-krát (včetně).

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout