Kdykoliv potřebujete v textu něco nahradit, najít nebo poupravit, můžete k tomu využít regulárních výrazů. Především u rozsáhlejších textů je jejich používání velice užitečné. Regulární výrazy široké uplatnění v mnoha programovacích jazycích (především skriptovacích jako Python, PHP, Perl, JavaScript). Můžete je ale použít i unixových příkazech (např. grep) nebo v textových editorech (např. Notepad++, Emacs). Regulární výrazy jsou velice bohaté. Shrneme především základní operátory.

Kvantifikátory

Kvantifikátory vyznačují, kolikrát se má předcházející výraz opakovat. Například hvězdička v pe*s značí libovolný počet výskytů písmene e.

* libovolný počet opakování
+ jedno nebo více opakování
? volitelný výskyt (~ 0 nebo 1 opakování)
{n} právě n výskytů
{n,m} nejméně n, nejvíce m výskytů

Hranice

^ začátek řetězce
$ konec řetězce
\b začátek či konec slova

Skupiny znaků

[] výběr znaku v závorkách, např. [aeiouy]
[ - ] výběr znaku z intervalu, např. [a-z] značí libovolné malé písmeno anglické abecedy
[^ ] negovaný výběr znaku, např. [^aeiouy] značí vše kromě uvedených samohlásek
\d číslice (to samé jako [0-9])
\D vše kromě číslic (to samé jako [^0-9])
\w alfanumerické znaky (to samé jako [a-zA-Z0-9_])
\W vše kromě alfanumerických znaků (to samé jako [^a-zA-Z0-9_])
\s „bílé” znaky (mezera, tabulátor, znaky pro zalomení řádků)
\S vše kromě „bílých” znaků

Alternativy a seskupování

Vymezují více možností, případně seskupují znaky k sobě.

| odděluje několik dílčích výrazů (ahoj|nazdar odpovídá právě jednomu z pozdravů)
() podřetězec, na nějž je možno aplikovat kvantifikátor (ko(ko)?s odpovídá právě kos a kokos)

Metaznaky

Metaznaky jsou speciální znaky, které používáme na konstrukci regulárních výrazů (např. .*+?). Co když ale chceme hledat právě tyto znaky? Na to použijeme zpětné lomítko, které ruší význam metaznaku a chápe jej jako znak obyčejný.

Regulární výrazy

Regulární výrazy jsou velice užitečný nástroj pro vyhledávání v textu. Mají bohaté využití v programování, ale můžete je využít i jinde. Například některé textové editory nabízí vyhledávání a nahrazování pomocí regulárních výrazů. Naučit se používat správně regulární výrazy není úplně jednoduché, složitější výrazy vypadají občas jako rozsypaný čaj nebo černá magie... Ale nebojte, máme tu pro vás i nějaké jednodušší úlohy na rozcvičení a také přehled základních operátorů.


Základní vyhledávání

Tato sada slouží jako trénink k použití cvičení a vyzkoušení základních operátorů jako je tečka a hvězdička.

Skupiny znaků

Tato sada nabízí jednoduché příklady na skupiny znaků, které v regulárních výrazech značíme hranatými závorkami či speciální zkratkou za zpětným lomítkem.

Kvantifikátory

Kvantifikátory značí opakování. Základními kvantifikátory v regulárních výrazech jsou hvězdička a plus. Vyzkoušíme si také složené závorky.

Hranice

V této sadě procvičíme označování hranic, především začátku a konce celého řetězce.

Nahrazování

Regulární výrazy jsou velmi užitečný nástroj pro provádění automatizovaných změn v textu. Zde si vyzkoušíme několik relativně jednoduchých nahrazení.

Mix: střední

Při praktickém použití regulárních výrazů musíme umět poznat, který operátor kdy použít...

Mix: těžké

Několik náročnějších příkladů na závěr.

NAPIŠTE NÁM

Nevíte si rady?

Nejprve se prosím podívejte na časté dotazy:

Časté dotazy Návody pro rodiče Návody pro učitele

Čeho se zpráva týká?

Obsah Ovládání Přihlášení Licence Různé

Text zprávy

E-mailová adresa (ať Vám můžeme odpovědět)


Odeslat

Vzhledem k uzavření škol mají systémy Umíme zvýšený provoz a množství dotazů. Prosím zasílejte pouze nezbytné dotazy a připomínky. Před zasláním dotazu si prosím prohlédněte časté dotazy. Děkujeme za pochopení.
Prosím nezasílejte dotazy na prozrazení řešení úloh či na vysvětlení postupu. Děkujeme.