Cursus Raku / Reguliere expressies en grammatica’s / Reguliere expressies / Kwantoren

Gulzig en zuinig matchen

Standaard is een kwantor gulzig: hij matcht zoveel als hij maar kan terwijl de rest van het patroon nog steeds kan slagen. Kijk naar het matchen van de eerste < tot een >:

say '<a><b>' ~~ / '<' .+ '>' /; # 「<a><b>」

De .+ slokte zoveel op als hij kon, helemaal tot de laatste >, dus loopt de match over beide paren haken heen.

Om een kwantor zuinig te maken (ook wel lui of niet-gulzig genoemd), zet je er een ? achter. Een zuinige kwantor matcht zo weinig mogelijk:

say '<a><b>' ~~ / '<' .+? '>' /; # 「<a>」

Nu stopt .+? bij de eerste >, dus matcht alleen het eerste stuk tussen haken.

Het achtervoegsel ? werkt op elke kwantor: *? en **? zijn ook zuinig. Gulzige en zuinige versies matchen dezelfde soorten tekst — ze verschillen alleen in hoeveel ze nemen wanneer er iets te kiezen valt.

Praktijk

Maak de 1 quiz over de inhoud van dit onderwerp.

Cursusnavigatie

De aantalskwantor   |   Quiz — Kwantoren


💪 Of ga direct naar de oefeningen in deze sectie.