Expresiile regulate sunt paranteze (partea 6)

Expresiile regulate sunt paranteze (partea 6)

Continuăm să studiem expresiile regulate. Și în acest articol vom vorbi despre rolul parantezelor. Învățăm de ce sunt necesare și cum să le folosim.

În ceea ce privește restul parantezelor, atunci din articol studiază expresii regulate pe cont propriu - gamele (partea 4). deja știm că în paranteze pătrate. Este scris un interval care poate consta dintr-un grup de simboluri sau intervale diferite. Și acest interval poate corespunde unui anumit caracter din șir, dacă acest caracter este prezent în grupul specificat de caractere sau intră într-unul dintre intervalele specificate.







Și bretelele curl sunt folosite pentru a indica un anumit număr de repetări, de la și la. Ne-am familiarizat cu ele în articol. Studiem expresii regulate pe cont propriu - cuantificatori de repetiții (partea 3).

Parentheses au rolul de grupare. Se mai numesc și paranteze de grupare. și sunt utilizate în două cazuri.

Repetarea unui grup de caractere

Primul caz de folosire a parantezelor. aceasta este momentul în care trebuie să grupați pentru o repetare convenabilă, o parte din personajele din expresia regulată.

De exemplu, inițial expresia noastră regulată arată astfel:

Folosind paranteze și unul dintre cuantificatorii de repetiție, scurtăm lungimea expresiei noastre regulate, în acest formular:

Acum expresia noastră regulată a devenit mai scurtă, mai vizibilă și arată ca și cum ar fi umană.

Aceasta a fost prima dată când am folosit paranteze.

O prelucrare convenabilă a datelor

Cel de-al doilea caz de folosire a parantezelor. aceasta este atunci când aveți nevoie să scrieți o expresie regulată astfel încât să fie convenabil să lucrați cu potrivirile găsite într-un șir dat.

Pentru a înțelege mai bine acest caz, voi da un exemplu în PHP.

Mai întâi, experimentați cu o expresie regulată fără paranteze.







Funcția preg_match () returnează true (derivarea este afișată 1) în cazul în care șirul rezultat se potrivește cu expresia regulată specificată și fals (derivarea prezintă un șir gol, atunci nu este nimic), în caz contrar.

Puteți citi mai multe despre această funcție în director.

Deci, rulați acest script în browser și vedeți că rezultatul testului este adevărat.

Acum, într-o altă variabilă, vom scrie aceeași expresie regulată, numai cu ajutorul parantezelor.

De asemenea, verificăm șirul primit pentru corespondență.

Actualizăm pagina în browser și vedem că rezultatul testului este, de asemenea, adevărat.

Dar, sensul unei utilizări a parantezelor este văzut într-un alt caz. Adică, când adăugăm potrivirile găsite în matrice.

Faptul este că lucrul cu o matrice este mult mai ușor decât cu un șir întreg.

Pentru a adăuga la matrice de chibrituri, utilizați funcția preg_match_all ( 'regex'. 'Stroka_dlya_proverki'. $ Massiv_sootvetstvy).

Puteți citi mai multe despre această funcție în director.

Ca urmare a acestei funcții, obținem o matrice care conține potrivirile găsite în șirul specificat.

Și din moment ce expresia regulată nu conține paranteze de grup, atunci în matricea de potriviri $, doar un meci se încadrează. Anume întregul șir, care este specificat în al doilea parametru, funcția preg_match_all ().

Rulați scriptul în browser și vedeți că conținutul matricei de potriviri $ arată astfel:

Rezultatul este o matrice bidimensională formată dintr-o singură matrice care are un singur element.

Dar știm că un șir poate corespunde unei expresii regulate nu numai în întregime, ci și parțial. Asta este, numerele 373 sunt primul meci, numerele 69 sunt al doilea meci, 813 este al treilea meci și 501 este al patrulea meci.

Deci, folosim paranteze. exact pentru a adăuga toate aceste corespondențe la matrice.

Acum, să ia expresia regulată are un suport (o la noi este în $ REG1 variabilă) și adăugați-l în funcția de prim parametru preg_match_all ().

În cel de-al doilea parametru, trecem și linia noastră, iar în al treilea indicăm numele matricei, în care vor fi adăugate toate meciurile găsite.

Deschideți pagina în browser și vedeți că conținutul matricei de potrivire arată diferit:

De asemenea, avem o matrice bidimensională, dar cu toate potrivirile găsite în șirul specificat.

Schimbați expresia regulată:

Actualizăm pagina și vedem că conținutul matricei sa schimbat:

Ei bine, este vorba despre asta. Sper că înțelegeți de ce parantezele sunt folosite în expresii regulate. Acum puteți aplica aceste cunoștințe în practică.

  1. Care sunt parantezele pătrate utilizate? Scrie un exemplu.
  2. Pentru ce sunt folosite bretelele? Scrie un exemplu.
  3. În ce cazuri sunt folosite paranteze? Scrieți un exemplu pentru fiecare caz.






Trimiteți-le prietenilor: