Regex

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