Curso de Raku / Expresiones regulares y gramáticas / Expresiones regulares / Cuantificadores

Emparejamiento voraz y frugal

Por omisión, un cuantificador es voraz: empareja todo lo que puede sin impedir que el resto del patrón funcione. Considera emparejar desde el primer < hasta un >:

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

El .+ se tragó todo lo que pudo, hasta el último >, así que la coincidencia atraviesa los dos pares de corchetes.

Para hacer frugal un cuantificador (también llamado perezoso o no voraz), añádele un ? detrás. Un cuantificador frugal empareja lo menos posible:

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

Ahora .+? se detiene en el primer >, así que solo coincide la primera pieza entre corchetes.

El sufijo ? funciona sobre cualquier cuantificador: *? y **? también son frugales. Las versiones voraz y frugal emparejan la misma clase de texto; solo se diferencian en cuánto toman cuando hay elección.

Práctica

Resuelve 1 cuestionario sobre el contenido de este tema.

El cuantificador de repeticiones   |   Quiz — Cuantificadores


💪 O ve directamente a los ejercicios de esta sección.