Direct naar de hoofdinhoud
Module 4 · Les 1 van 413/32 in de cursus~10 min
Modulelessen (1/4)

Groepen vastleggen: `(...)`

Haakjes (...) hebben twee functies in één:

  1. Groep subpatronen, zodat een kwantificator op het geheel van toepassing is groep ((ab)+ komt overeen met ab, abab, ababab).
  2. Leg de overeenkomende subtekenreeks vast en stel deze bloot als een genummerde groep afzonderlijk toegankelijk (groep 1, 2, 3… van links naar rechts op basis van het openingshaakje).
Code
Pattern: (\d{4})-(\d{2})-(\d{2})
Sample:  Data: 2024-03-15.
               ^^^^^^^^^^
Gruppi:
  match  = "2024-03-15"
  gruppo1 = "2024"
  gruppo2 = "03"
  gruppo3 = "15"

De editor aan de rechterkant toont de groepen onder elke wedstrijd.

Het kwantificeren van een groep

Zonder haakjes betekent ab+ "a gevolgd door een of meer b". Met haakjes het wordt "een of meer ab":

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

Leg groepsindexen en gebruik vast

Elk paar haakjes dat niet wordt voorafgegaan door speciale tekens creëert een genummerde opnamegroep. Groep 1 komt overeen met het eerste open haakje, groep 2 met het tweede, enzovoort. In JavaScript heeft u toegang tot deze groepen via de array die wordt geretourneerd door exec of matchAll.

Probeer het

Oefening#regex.m4.l1.e1
Pogingen: 0Laden…

Vind elke datum in het formaat JJJJ-MM-DD, waarbij jaar, maand en dag als drie afzonderlijke groepen worden vastgelegd.

Editor laden…
Toon hint

Plaats elk van de driecijferige blokken tussen haakjes: elk blok vormt een genummerde groep.

Oplossing beschikbaar na 3 pogingen

Oefening beoordelen

Oefening#regex.m4.l1.e2
Pogingen: 0Laden…

Zoek elke herhaling van `ab` (een of meer) als een enkele overeenkomst. Zonder haakjes zou de kwantor alleen van toepassing zijn op de laatste `b`.

Editor laden…
Toon hint

(ab)+ behandelt 'ab' als een eenheid en zoekt naar een of meer opeenvolgende herhalingen.

Oplossing beschikbaar na 3 pogingen

Extra uitdaging

Oefening#regex.m4.l1.e3
Pogingen: 0Laden…

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

Editor laden…
Toon hint

Plaats elke \\d{2} of \\d{4} tussen haakjes.

Oplossing beschikbaar na 3 pogingen