
. tecka, libovolny jeden znak (prave jeden libovolny znak)
[ab] hranate zavorky, jeden libovolny znak ze znaku v zavorce
[^ab] hranate zavorky, metaznak "^" - mimo znaku v zavorce
(abc) kulate zavorky, opakovani urcite sekvence znaku
(abc|def) kulate zavorky, opakovani urcite sekvence znaku, metaznak "|" - znaci "nebo"
* hvezdicka, pocet opakovani (minimalne 0 znaku, maximalne nekonecno) # * je rovno {0,}
+ plus, pocet opakovani (minimalne 1 znak, maximalne nekonecno) # + je rovno {1,}
? otaznik, pocet opakovani (minimalne 0 znaku, maximalne 1 znak) # ? je rovno {0,1}
{m} slozene zavorky, pocet opakovani (prave nkrat)
{m,n} slozene zavorky, pocet opakovani (minimalne mkrat, maximalne nkrat)
{m,} slozene zavorky, pocet opakovani (minimalne mkrat, maximalne neomezeno)
^ zacatek retezce (pred textem)
$ konec retezce (za textem)
\d cislice 0-9
\D vse krome cislic 0-9
\w znaky slova (ekvivalentni [a-zA-Z0-9_])
\W vse krome znaku slova (ekvivalentni [^a-zA-Z0-9_])
\s "bile znaky" (mezera, tabulator, znaky pro zalomeni radu)
\S vse krome "bilych znaku"
[[:alnum:]] A-Z, a-z, 0-9
[[:alpha:]] A-Z, a-z
[[:blank:]] tabulator, space
[[:digit:]] 0-9
[[:lower:]] a-z
[[:upper:]] A-Z
[[:punct:]] ! ” # $ % & ‘ ( ) * + , – . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~.
[[:graph:]] alpha + punct
[[:print:]] alpha + punct + space
[[:space:]] mezera
[[:xdigit:]] hexadecimal [0-9, A-F and a-f]
Párkrát jsem potřeboval použít výrazu NOT:
^((?!badword).)*$
(^[\t\s]*)[!(\#)](.*)$
ESCapujeme zpětným lomítkem "\", znaky: \^$.[]|()?*+{}
Nejaké příklady použitých regexpů:
a+ a,aa,aaa,aaaa,..
a* ,,a,aa,aaa,aaaa,..
u?tok utok,tok
tele(vize)? tele,televize
televi(ze|zor) televize,televizor
[0-9]|[1-9][0-9] 0,1,2,..,8,9,10,11,..,99
[1-9]?[0-9] 0,1,2,..,8,9,10,11,..,99
\d{2} 00,01,..,98,99
[0-9a-fA-F]|[1-9a-fA-F][0-9a-fA-F]+ 0,1,2,..,e,f,10,11,..,FE,FF
(19|20)\d{2} 1900-2099
\d{2,6} 00,01,02,..,98,99,100,101,..,999999
[^ ,.]+ neprazdna sekvence znaku mezi nimiz nesmi byt mezera ( ), carka (,) nebo tecka (.)
\d+0$ retezec koncici nulou, kteremy predchazi minimalne jedna cislice
a+b ab,aab,aaab,aaaab,..
a\+b a+b
^T.* retezec, ktery zacina pismenem T za kterym nasleduje libovolny (i nulovy) pocet libovolnych znaku
^ab?$ a,ab
^a[bcd]$ ab,ac,ad
^[a-z]*$ ,,a,b,..,z,aa,ab,ac,..,bxd,..,fadg,..,asfhu,..,ctwxwp,..
^(abc)*$ ,,abc,abcabc,abcabcabc,..