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. |