Sunteți pe pagina 1din 4

^ - indica inceputul liniei

$ - indica sfarsitul liniei


. - (punct) orice caracter
[] - un caracter dintre cele din paranezele patrate
[^] - orice caracter, in afara celor din paranezele patrate
\ - scoate din contextul formari expresiei caracterul care urmeaza
+ - caracterul (expresia) anterior acestui semn se poate repeta
odata si de cate ori e posibil (de la 1 la infinit)
* - caracterul (expresia) anterior acestui semn se poate repeta de
cate ori e posibil sau niciodate (de la 0 la infinit)
? - caracterul (expresia) anterior acestui semn se poate repeta ce
mult odata
<> - un cuvant intreg
(|) - lista de optiuni SAU
{m, n} - repetarea expresiei de la "m" la "n" ori
Iata cateva exemple de expresii regulate:
(.*) - Reprezinta toate caracterele (prin .) repetate de cate ori e
posibil (dat de *)
<salut> - Cuvantul "salut"
(ci|co)tim - Reprezinta "citim" si "cotim"
^The .* hack$ - Sirurile care incep cu "the " si se sfarsesc cu "
hack"
^www.[a-z0-9]+.ro$ - Reprezinta sirurile "www.---.ro" unde '---'
poate fi orice litera sau cuvant ce contine litere mici si numere
(^-\+[0-9]*) - Orice numar care incepe cu "-" sau "+"
^([a-zA-Z0-9]+[a-zA-Z0-9._%-]*@([a-zA-Z0-9-]+\.)+[a-zA-Z]
{2,4})$ - Expresie regulata pentru adrese de e-mail

Expresie

Semnificaie

Urmtorul meta-caracter devine un caracter obinuit

nceput de linie

Orice caracter n afar de newline

Sfrit de linie

|
()

Alternan (

Indic precedena operaiilor


Concatenarea este implicit (nu folosim nici un semn)

[]

O mulime de caractere (ca la grep)

Operatorul star: R* = R de zero sau mai multe ori la rnd

R+ = RR* (R cel puin o dat)

R+ =

(R de zero sau una ori)

{n}

R{n} = R exact de n ori

{n,}

R{n,} = R de cel puin n ori

{n,m}

R{n,m} = R de cel puin n dar cel mult m ori la rnd

\t

Caracterul tab

\n

Caracterul sfrit de linie

\r

Caracterul retur de car

\x1B

Caracter descris n hexazecimal

\l

Urmtorul caracter micorat (majuscule devin minuscule)

\u

Urmtorul caracter majorat (minusculele devin majuscule)

\w

Orice caracter care formeaz ``cuvinte'' (alfanumerice i _)

\W

Orice caracter care nu formeaz cuvinte

\s

Orice spaiu

\S

Orice caracter care nu e spaiu

\d

Orice cifr

\D

Orice caracter care nu e cifr

\b

O poziie dintre un cuvnt i un non-cuvnt (zero caractere)

\B

O poziie care nu este ntre un cuvnt i un non-cuvnt

Numerele intregi pozitive pot fi privite ca un sir lung format doar din cifre:
^\d+$.
Numerele intregi negative, spre deosebire de cele pozitive, sunt prefixate de un
semn minus:
^-\d+$.
Numerele intregi in general, fara a face diferenta intre cele pozitive si cele negative,
sunt formate dintr-un sir de cifre prefixate de 0 sau 1 semne minus:
^-{0,1}\d+$.
Numerele reale pozitive pot fi vazute ca fiind formate din 0 sau mai multe cifre
urmate de 0 sau 1 puncte (se poate inlocui cu virgula pentru zecimale) dupa care
urmeaza din nou un set de cifre:
^\d*\.{0,1}\d+$.
Numerele reale negative sunt declarate la fel ca cele pozitive cu diferenta ca sunt
prefixate de semnul minus:
^-\d*\.{0,1}\d+$.
Numerele reale in general, fara a face diferenta dintre cele pozitive si cele negative,
pot fi gasite adaugand in sablon posibilitatea existentei a 0 sau 1 semne minus:
^-{0,1}\d*\.{0,1}\d+$.
Numerele de telefon pot fi vazute ca o serie de minim 3 cifre (numere scurte) care
pot fi prefixate de semnul plus:
^\+?[\d\s]{3,}$.
Anii ii putem potrivi in sablon ca fiind siruri de cifre din care primele doua sunt 19
sau 20 dupa care urmeaza inca fix doua cifre:
^(19|20)[\d]{2,2}$.
IP-urile (IPv4) pot fi vazute ca 4 grupuri de cifre separate de puncte. Pentru a ne
asigura ca valorile fiecaruia din cele 4 grupuri nu depasesc 255 trebuie create mai
multe cazuri folosind operatorul OR (|):
^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]){3}$

Pentru validarea unei adrese e-mail avem cifre, litere si cateva semne speciale (._%
+-) urmate de @ dupa care urmeaza numele domeniului si TLD-ul:
^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$.
Numele domeniului e format din cifre, litere si semnele punct (.) pentru subdomenii
sau domeniile cu SLD si semnul minus (-), dupa care urmeaza de la doua la 4 litere
TLD-ul:
^[A-Z0-9.-]+\.[A-Z]{2,4}$.
Pentru a verifica inexistenta unei valori avem semnul de inceput si cel de sfarsit de
sablon fara nici un alt caracter intre ele:
^$.
Pentru verificarea spatiilor albe, verificam spatiile simple (tasta space) si caracterele
TAB:
^\s[\t]*$.

Verificarea finalizarii randului indiferent de sistemul de operare se face cautand \r


(UNIX) \r\n (Windows):
[\r\n]$.

S-ar putea să vă placă și