Salt la conținutul principal
Modulul 4 · Lecția 1 din 413/32 în curs~10 min
Lecții din modul (1/4)

Grupuri de captură: `(...)`

Paranteze (...) au două funcții într-una:

  1. Sub-modele Grup, astfel încât un cuantificator să se aplice întregului grup ((ab)+ se potrivește cu ab, abab, ababab).
  2. Capturați subșirul potrivit, expunându-l ca grup numerotat accesibil separat (grupul 1, 2, 3... de la stânga la dreapta pe baza paranteza de deschidere).
Code
Pattern: (\d{4})-(\d{2})-(\d{2})
Sample:  Data: 2024-03-15.
               ^^^^^^^^^^
Gruppi:
  match  = "2024-03-15"
  gruppo1 = "2024"
  gruppo2 = "03"
  gruppo3 = "15"

Editorul din dreapta arată grupurile de sub fiecare meci.

Cuantificarea unui grup

Fără paranteze, ab+ înseamnă „a urmat de unul sau mai multe b”. Cu paranteze devine „unul sau mai multe ab”:

Code
Pattern   Matcha su 'ababab':
ab+       'ab' (poi 'a' e 'b' separati, non collegati)
(ab)+     'ababab' come gruppo unico

Capturați indici de grup și utilizare

Fiecare pereche de paranteze neprecedate de caractere speciale creează un grup de captură numerotat. Grupul 1 corespunde primei paranteze deschise, grupul 2 celei de-a doua și așa mai departe. În JavaScript, puteți accesa aceste grupuri prin intermediul matricei returnate de exec sau matchAll.

Încearcă

Exercițiu#regex.m4.l1.e1
Încercări: 0Se încarcă…

Găsiți fiecare dată în format AAAA-LL-ZZ, înregistrând anul, luna și ziua în trei grupuri separate.

Se încarcă editorul...
Afișează indiciu

Înfășurați fiecare dintre cele trei blocuri de cifre în paranteze: fiecare creează un grup numerotat.

Soluție disponibilă după 3 încercări

Exercițiu de revizuire

Exercițiu#regex.m4.l1.e2
Încercări: 0Se încarcă…

Găsiți fiecare repetare a lui `ab` (una sau mai multe) ca o singură potrivire. Fără paranteze, cuantificatorul s-ar aplica numai ultimului „b”.

Se încarcă editorul...
Afișează indiciu

(ab)+ tratează „ab” ca o unitate și caută una sau mai multe repetări consecutive.

Soluție disponibilă după 3 încercări

Provocare suplimentară

Exercițiu#regex.m4.l1.e3
Încercări: 0Se încarcă…

Create three capture groups to extract the day, month, and year separately from dates in the format `DD/MM/YYYY`.

Se încarcă editorul...
Afișează indiciu

Închideți fiecare \\d{2} sau \\d{4} între paranteze.

Soluție disponibilă după 3 încercări