Regulární výrazy
Z Milan Kerslager
Regulární výrazy slouží pro obecný popis textových řetězců. Rozdělují se na regulární výrazy podle normy POSIX a podle jazyka Perl. Využívají se při zpracování textů (hledání, nahrazování), kontrole vstupu (rodné číslo, URL, e-mailová adresa, ...). Jejich podporu nalezneme přímo v některých programovacích jazycích (Perl, Python), používají je unixové nástroje (příkaz grep), jsou k dispozici v podobě knihoven atd.
Přehled
Základní a rozšířené POSIXové regulární výrazy Základní Rozšířený Popis .Jakýkoliv 1 znak (i žádný znak) [abc]Jeden z uvedených znaků [^abc]Žádný z uvedených znaků [c..e]Jeden z rozsahu uvedených znaků (zde c, d nebo e) ^Začátek řádku (řetězce) $Konec řádku (řetězce) \( \)( )Skupina znaků (zapamatovatelná) *Libovolné opakování předchozího znaku (skupiny), i žádné (0 krát) \nZapamatovaná skupina číslo n \{m,n\}{m,n}Opakování předchozího znaku (skupiny) m až n krát ?Žádný nebo jednonásobný výskyt předchozího znaku (skupiny) +Jedno- nebo vícenásobné opakování předchozího znaku (skupiny) |Vyznačení variant (logická spojka nebo)
Třídy znaků podle POSIXu a Perlu POSIX Perl ASCII Popis [:alnum:][A-Za-z0-9]Alfanumerické znaky [:word:]\w[A-Za-z0-9_]Alfanumerické znaky plus "_" \W[^\w]Znaky netvořící slova [:alpha:][A-Za-z]Alfabetické znaky [:blank:][ \t]Mezera a tabelátor [:cntrl:][\x00-\x1F\x7F]Řídící znaky [:digit:]\d[0-9]Čísla \D[^\d]Nečíselné znaky [:graph:][\x21-\x7E]Viditelné znaky [:lower:][a-z]Malá písmena [:print:][\x20-\x7E]Viditelné znaky a mezery [:punct:][-!"#$%&'()*+,./:;<=>?@\[\\\]_`{|}~]Speciální znaky [:space:]\s[ \t\r\n\v\f]Bílé znaky (mezery atp.) \S[^\s]Znaky, které nejsou bílými znaky [:upper:][A-Z]Velká písmena [:xdigit:][A-Fa-f0-9]Hexadecimální čísla
Externí odkazy
- http://www.root.cz/clanky/regularni-vyrazy-1/ – série 5 dílů