Co jsou regulární výrazy?
- Regulární výrazy jsou vzory, které odpovídají určitým sadám řetězců a umožňují komplexní vyhledávání a nahrazení v textových datech.
- Regex umožňuje specifikovat, jaký text by měl být nalezen pomocí různých symbolů, které reprezentují znaky nebo skupiny znaků.
Základní komponenty regulárních výrazů
- Literály: Jsou obyčejné znaky, které odpovídají sami sobě, například
a,1,B. - Metaznaky: Mají speciální význam, jako např.:
.: Jakýkoliv jeden znak. (kromě nového řádku)^: Začátek řádku.$: Konec řádku.*: Nula nebo více opakování předchozího znaku.+: Jedno nebo více opakování předchozího znaku.?: Nula nebo jedno opakování předchozího znaku.\s: Odpovídá jakémukoli bílému znaku (mezera, tabulátor, nový řádek).\d: Odpovídá jakémukoli číslici (0-9).\w: Odpovídá jakémukoli alfanumerickému znaku (písmena a číslice) a podtržítku.
- Závorky:
[]: Umožňují definovat sadu znaků, z nichž kterýkoliv může být shodný. Například[abc]odpovídáa,b, neboc.(): Skupinování více znaků nebo výrazů do jednoho celku pro operace jako je kvantifikace (*,+,?) nebo pro zachytávání podvýrazů.
Příklady použití regulárních výrazů
- grep - hledání v souborech
- Najde všechny řádky, které začínají slovem “Error”:
grep '^Error' filename.txt- sed - úprava souborů
- Nahradí všechny výskyty “oldtext” za “newtext” ve souboru:
sed -i 's/oldtext/newtext/g' filename.txt- awk - skriptování a zpracování textu
- Vytiskne všechny řádky, které začínají jednou nebo více číslicemi:
awk '/^[0-9]+/ { print $0 }' filename.txtNavigace
Předchozí: Příkazový interpret (shell), vstup a výstup programu a roura v unixových OS Následující: Zpracování textu v unixových OS - základní utility, grep, sed, awk, jejich použití Celý okruh: 2. Informační technologie