This is an old revision of the document!
Regular Expressions are just normal strings but have a specific format used in searching and replacing text. O expresie regulată, sau “regex”, este un model pentru potrivirea substringurilor într-un text. Acest lucru este util în multe contexte, de exemplu,
Element | Potrivire | Text de căutat și potriviri | Expresie regulată |
---|---|---|---|
c | un caracter, atâta timp cât acesta nu are o altă semnificație în expresiile regulate | “un șoricel” | “ori” |
\c | caută o potrivire cu caracterul care urmează semnului '\'. Util pentru a căuta caractere care singure au un rol special (ex. '.', '?'…) | “Semne:!@#?#%?“ | “\?” |
\a | caracterul chr(7) | ||
\f | caracterul chr(12) | ||
\n | caracterul de linie nouă chr(10) | ||
\r | caracterul chr(13) | ||
\t | caracterul tabulator chr(9) | ||
\v | caracterul chr(11) | ||
\xhhhh | un caracter Unicode cu codul exprimat în sistemul hexazecimal cu numărul hhhh (între 0x0000 și 0xFFFF) | ||
\0ooo | un caracter ASCII/Latin1 având codul exprimat în sistemul octal ooo (între 0 și 0377) | ||
. (punct) | orice caracter, inclusiv caracterul linie nouă | “săniuș” | “n.u” |
\d | o cifră | ”“ | ”“ |
\D | un caracter care nu este o cifră | ”“ | ”“ |
\s | un caracter de spațiere | ”“ | ”“ |
\S | un caracter care nu este unul de spațiere | ”“ | ”“ |
\w | o cifră, o literă sau caracterul '_' | ”“ | ”“ |
\W | un caracter care nu este o cifră, o literă sau caracterul '_' | ”“ | ”“ |
\1 \2 … \9 | referință din urmă (același text capturat de ultimul grup de capturare) | ”“ | ”“ |
Parantezele pătrate înseamnă potrivirea oricărui caracter dintre parantezele pătrate. Cu excepția abrevierilor de caractere descrise mai sus și a următoarelor două excepții, alte caractere nu au înțelesuri speciale între paranteze pătrate:
Exemplu de expresie regulată | Descriere |
---|---|
[xyz] | se potrivește cu oricare din caracterele 'x', 'y' sau 'z' |
[^xyz] | se potrivește cu orice caracter, cu excepția caracterelor 'x', 'y' și 'z' |
[a-g] | se potrivește cu orice caracter din intervalul dintre 'a' și 'g' |
[0-9a-zA-Z_] | se potrivește cu orice cifră între '0' și '9', orice caracter între 'a' și 'z' și între 'A' și 'Z', sau se potrivește cu caracterul '_' |
Folosirea abrevierilor de caractere predefinite este mai portabilă decât utilizarea intervalelor de caractere între platforme și limbi. De exemplu, [0-9] se potrivește cu o cifră în alfabete occidentale, dar \d se potrivește cu o cifră din orice alfabet.
Expresie | Descriere | Expresie regulată | Potriviri | Echivalent cu |
---|---|---|---|---|
? | una sau nicio apariție | “maci?” | “mac”, “maci” | {0,1} |
+ | una sau mai multe apariții | “0+“ | “0”, “00”, “000” etc. | {1,} |
* | zero sau mai multe apariții | “0*123” | “123”, “0123”, “00123”, “000123” etc. | {0,} |
{n} | un număr de n apariții | “x{5}“ | “xxxxx” | {n,n} |
{n,} | cel puțin n apariții | |||
{,m} | cel mult m apariții | {0,m} | ||
{n,m} | cel puțin n apariții și cel mult m apariții |