Regulární výraz

Regulární výraz (neboli „regex“) je vyhledávací vzor používaný k nalezení jednoho nebo více znaků v rámci řetězce. Může vyhledávat konkrétní znaky, zástupné znaky a rozsahy znaků. Regulární výrazy původně používaly nástroje systému Unix, například vi a grep. Nyní je však podporuje mnoho aplikací pro úpravu kódu a textových procesorů na různých platformách. Regulární výrazy lze také používat ve většině hlavních programovacích jazyků.

Regulární výraz může být tak jednoduchý jako základní řetězec, například „app“. Regex „app“ by odpovídal řetězcům obsahujícím slova „apps“, „applications“ a „inapplicable“. Regulární výraz může také obsahovat kotevní znaky („^“ a „$“), které se používají k určení začátku, respektive konce řádku. Regex „^apps“ by proto odpovídal řetězci „apps are great“, ale neodpovídal by řetězci „I like apps.“

Regulární výrazy mohou obsahovat pomlčky, které se používají k vyhledání rozsahu znaků, například všech malých písmen. Regex „[a-z]“ by například odpovídal řetězci „apps“, ale neodpovídal by řetězcům „Apps“ ani „123“. Regex „[A-Za-z]“ by odpovídal řetězci „Apps“ a [0-9] by odpovídal řetězci „123“. Tečku, která je v regulárních výrazech standardním zástupným znakem, lze použít k nalezení libovolného znaku (kromě znaku konce řádku). Tečka následovaná hvězdičkou (.*) odpovídá nule nebo více výskytům, zatímco tečka následovaná znaménkem plus (.+) odpovídá jednomu nebo více výskytům.

Co se tedy stane, když potřebujete najít řetězec obsahující pomlčku, hvězdičku, znaménko plus nebo kotevní znak? Tyto znaky lze do vzoru regulárního výrazu zahrnout tak, že je pomocí zpětného lomítka („\“) „escapujete“. Chcete-li například vyhledat „$0.99“, regex by vypadal takto: „\$0\.99“. Zpětná lomítka se také používají k vyhledávání netisknutelných znaků. Například „\r“ odpovídá návratu vozíku, „\n“ odpovídá novému řádku a „\t“ odpovídá tabulátoru.

Vytvoření základního regulárního výrazu sice nevyžaduje mnoho úsilí, napsat pokročilý regex však není snadný úkol. Ani ti nejlepší programátoři složité regulární výrazy napoprvé jen zřídka vytvoří správně. Při správném použití jsou však regulární výrazy účinným nástrojem pro vyhledávání, nalezení a nahrazování konkrétního textu.

Aktualizováno August 19, 2013 od Per C.

quizOtestujte své znalosti

Which of the following combines virtual reality with an open-world multiplayer setting?

A
Multiverse
0%
B
Metaverse
0%
C
Superverse
0%
D
Omniverse
0%
Correct! Incorrect!     View the Metaverse definition.
More Quizzes →

Počítačový slovník Tech Terms

Definice Regulární výraz na této stránce je originální definice napsaná autory TechTerms.com. Pokud chcete na tuto stránku odkazovat nebo tuto definici citovat, použijte prosím zelený citační pruh přímo pod definicí.

Naším cílem je vysvětlovat počítačovou terminologii srozumitelným způsobem. U každé zveřejněné definice usilujeme o přesnost a jednoduchost. Pokud máte zpětnou vazbu nebo chcete navrhnout nový technický pojem, kontaktujte nás.

Newsletter Tech Terms

Rozšiřte své technické znalosti s naším denním nebo týdenním newsletterem! Přihlaste se ještě dnes a dostávejte nové pojmy a kvízy přímo do schránky.

Přihlaste se k bezplatnému newsletteru TechTerms

Jak často chcete dostávat e-mail?

Odhlásit se nebo změnit frekvenci můžete kdykoli pomocí odkazů v každém e-mailu. Dotazy? Prosím kontaktujte nás.

Poznámka: Newsletter je zasílán v angličtině.