Regulární výraz (zkráceně regex nebo regexp; někdy se označuje jako racionální výraz) je posloupnost znaků, která určuje vyhledávací vzor v textu. Obvykle se takové vzory používají v algoritmech pro vyhledávání řetězců pro operace „najít“ nebo „najít a nahradit“ řetězce nebo pro ověřování vstupů. Techniky regulárních výrazů jsou vyvinuty v teoretické informatice a teorii formálních jazyků.
Koncept regulárních výrazů vznikl v 50. letech 20. století, kdy americký matematik Stephen Cole Kleene formalizoval pojem regulárního jazyka. Začaly se běžně používat s nástroji pro zpracování textu v systému Unix. Od 80. let 20. století existují různé syntaxe pro zápis regulárních výrazů, z nichž jedna je standard POSIX a druhá, hojně používaná, je syntaxe jazyka Perl.
Regulární výrazy se používají ve vyhledávacích strojích, v dialogových oknech pro vyhledávání a nahrazování textových procesorů a textových editorů, v nástrojích pro zpracování textu, jako jsou sed a AWK, a při lexikální analýze. Většina univerzálních programovacích jazyků podporuje možnosti regexů buď nativně, nebo prostřednictvím knihoven, včetně například jazyků Python, C, C++, Java a JavaScript.
Obsah
REGEXP
Regulární výraz pro ověření správného tvaru emailové adresy ve smyslu, že obsahuje akceptovatelné znaky (né, že email kdesi existuje). Emailová adresa může obsahovat pouze písmena (abcdefgh.. kde je se nerozlišují velké a malé písmena), základní sadu znaků („.“ „-“ „_“) a čísla (1, 2, 3, 4, 5..). Verifikační řetězec tedy vytvoříme tak, že bude kontrolova povolené znaky před a za @ (zavináčem) + to samé za tečkou, která vyznačuje národní doménu (.cz)
/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/i
Vizualizace

Vysvětlivky
Ohraničení textu
Sekvence metaznaků | Význam | Příklad vyjádření | Příklad shody |
---|---|---|---|
^ | Začátek řetězce nebo řádku | ^abc | abc (objevuje se na začátku řetězce nebo řádku) |
$ | Konec řetězce nebo konec řádku | xyz$ | xyz (objevuje se na konci řetězce nebo řádku) |
\b | Ohraničení slova | tor\b | motor (shoduje se s tor, pokud je na konci slova) |
\B | NE ohraničuje slovo | \Btor\B | motorový (odpovídá tor, pokud není na začátku nebo na konci slova) |
\< | Začátek slova | \<pole | polesní (odpovídá pouze tehdy, když je na začátku slova) |
\> | Konec slova | lesní\> | polesní (odpovídá vždy pouze tehdy, pokud je na konci slova) |
Programování
Znak | Význam | Popis |
\d | digit | číslo v rozmezí 0 až 9 |
+ | plus | 1 nebo více krát |
\d+ | digit plus | 1 nebo více čísel |
Užitečné
Ignore list fail2ban v příkladech
Webová výuka na webu regexr
Referenční příručka regulárních výrazů