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.
Otestujte své znalosti