Speciální znaky

Regulární výrazy

SSŠVT


Speciální znaky

V regulárním výrazu jsou dva druhy znaků:

Vše, co není speciální znak, je "obyčejný" znak.

Následující tabulka popisuje nejběžnější speciální znaky, se kterými se v regulárních výrazech můžete setkat.

Znak(y) Název Význam
. tečka zastupuje právě jeden (libovolný) znak
* hvězdička to, za čím následuje, se může vyskytovat 0-krát, 1-krát nebo libovolně krát
? otazník to, za čím následuje, smí být v textu nejvýše jedenkrát (případně tam být nemusí)
+ plus to, za čím následuje, se může vyskytovat 1-krát nebo vícekrát (ale aspoň jednou)
[] hranaté závorky zastupuje právě jeden znak z výčtu uvnitř závorek
{} složené závorky to, za čím následují, se může vyskytovat tolikrát, kolikrát je určeno v těch závorkách
() kulaté závorky vybírají skupinu (posloupnost) několika znaků (např. pro definici počtu opakování - viz výše)
^ stříška zastupuje začátek řetězce (např. začátek řádku v textovém souboru)
$ dolar zastupuje konec řetězce (např. konec řádku v textovém souboru)
| svislítko spojuje možnosti pomocí "nebo" (buď to před svislítkem, anebo to za svislítkem - ale jen jedno z toho)
\s backslash s tzv. whitespace neboli bílé znaky (oddělovač) - mezera, tabulátor, znak konce řádku
\d backslash d zastupuje číslice 0 až 9, čili totéž co [0-9] v hranatých závorkách
\ backslash pokud to, co za backslashem následuje, je speciální znak, pak tento backslash z něj dělá "obyčejný" znak

Příklady regulárních výrazů se speciálními znaky a jejich interpretace:

Regulární výraz Vysvětlení
b.f písmeno b následované libovolným znakem, pak f - např. baf, b@f, b7b apod.
Aut(o|a) Auto nebo Auta
au*b ab nebo aub nebo auub nebo auuub atd.
a[f-k]{2,10}b písmeno a následované sekvencí dvou až deseti znaků z množiny {f, g, h, i, j, k}, pak b - např. affb, aghghb nebo akkkfffjjjgb
\d{3} \d{2} 3 číslice, mezera, 2 číslice - tj. formát PSČ v Česku
\* "obyčejný" znak hvězdička * (nikoliv počet opakování předchozího znaku nebo skupiny znaků)
\. "obyčejný" znak tečka .
\+ "obyčejné" plus +
\d\+\d POZOR: číslice následovaná "obyčejným" znakem plus, pak opět číslice - např. 1+1 nebo 2+1
\d+\d POZOR: \d+ znamená "alespoň jedna číslice", pak \d, tedy pak ještě jedna číslice - např. 112, 222223 apod.