⊗pyPmREInr 33 of 129 menu

Úvod do regulárních výrazů v Pythonu

Regulární výrazy jsou příkazy pro složité vyhledávání a nahrazování (nebo prostě vyhledávání). Umožňují dělat velmi zajímavé věci, ale bohužel jsou poměrně náročné na osvojení.

Pro začátek práce s regulárními výrazy v Pythonu potřebujeme importovat speciální modul re:

import re

Modul re zahrnuje metody určené pro práci s regulárními výrazy. Regulární výraz představuje sadu příkazů a skládá se ze dvou typů symbolů: z těch, které označují samy sebe a ze symbolů-příkazů, které se nazývají speciální symboly.

Seznámení s regulárními výrazy je lepší začít na příkladu metody sub, která se používá pro nahrazování v řetězci. Prvním parametrem metoda přijímá co nahradit, druhým - za co nahradit. Ve třetím parametru zadáme řetězec, ve kterém je třeba provést nahrazení. Ve čtvrtém volitelném parametru nastavíme počet nahrazení. Nejjednodušší nahrazení pomocí této metody bude vypadat takto:

res = re.sub('a', '!', 'bab') print(res) # vypíše 'b!b'

Jak jste si všimli, v regulárním výrazu písmena označují sama sebe. To samé platí i pro číslice. Pojďme nahradit číslici 2 na !:

res = re.sub('2', '!', '12abc3') print(res) # vypíše '1!abc3'

Zato tečka je speciálním symbolem a označuje libovolný symbol. V následujícím příkladu pojďme najít podřetězec podle takového vzoru: písmeno 'x', potom libovolný symbol, potom opět písmeno 'x':

res = re.sub('x.x', '!', 'xax eee') print(res) # vypíše '! eee'

Daný řetězec:

txt = 'ahb acb aeb aeeb adcb axeb'

Napište regulární výraz, který najde řetězce 'ahb', 'acb', 'aeb' podle vzoru: písmeno 'a', libovolný symbol, písmeno 'b'.

Daný řetězec:

txt = 'aba aca aea abba adca abea'

Napište regulární výraz, který najde řetězce 'abba', 'adca', 'abea' podle vzoru: písmeno 'a', 2 libovolné symboly, písmeno 'a'.

Daný řetězec:

txt = 'aba aca aea abba adca abea'

Napište regulární výraz, který najde řetězce 'abba' a 'abea', bez zachycení 'adca'.

Č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