User Tools

Site Tools


ro:regularexpressions

This is an old revision of the document!


Regular Expressions

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,

Abrevieri de caractere

ElementPotrivireText de căutat și potriviriExpresie regulată
cun caracter, atâta timp cât acesta nu are o altă semnificație în expresiile regulate“un șoricel”“ori”
\ccaută o potrivire cu caracterul care urmează semnului '\'. Util pentru a căuta caractere care singure au un rol special (ex. '.', '?'…)“Semne:!@#?#%?“\?”
\acaracterul chr(7)
\fcaracterul chr(12)
\ncaracterul de linie nouă chr(10)
\rcaracterul chr(13)
\tcaracterul tabulator chr(9)
\vcaracterul chr(11)
\xhhhhun caracter Unicode cu codul exprimat în sistemul hexazecimal cu numărul hhhh (între 0x0000 și 0xFFFF)
\0oooun 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”
\do cifr㔓”“
\Dun caracter care nu este o cifr㔓”“
\sun caracter de spațiere”“”“
\Sun caracter care nu este unul de spațiere”“”“
\wo cifră, o literă sau caracterul '_'”“”“
\Wun caracter care nu este o cifră, o literă sau caracterul '_'”“”“
\1 \2 … \9referință din urmă (același text capturat de ultimul grup de capturare)”“”“

Seturi de caractere

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:

  • caracterul minus/cratimă '-' definește un interval
  • caracterul '^' poziționat imediat după deschiderea parantezei drepte înseamnă negarea conținutului dintre paranteze.
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.

Cuantificatori

În mod implicit, o expresie este așteptată să apară o singură dată. Acest lucru poate fi schimbat cu ajutorul cuantificatorilor:

ExpresieDescriereExpresie regulatăPotriviriEchivalent 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


ro/regularexpressions.1504647947.txt.gz · Last modified: 2020/02/28 10:46 (external edit)