En esta lección aprenderemos sobre el concepto de cuantificación y cómo encontrar caracteres repetidos.
Cuantificación es la búsqueda de secuencias. Un cuantificador es un limitador especial que indica la cantidad de repeticiones posibles de un carácter, grupo de caracteres o clase de caracteres en una expresión regular antes de él. Veamos qué significa todo esto.
Veamos un ejemplo con el cuantificador más simple: el carácter ?. Significa "buscar coincidencias con repetición de cero a una vez":
/colou?/
colr, color, colour, colouur, colouuur
En esta expresión no hay agrupación ni clase de caracteres, por lo que el cuantificador ? establece la repetición para el carácter u. También indica que el carácter u precedente:
- O no participará en la coincidencia (es decir, se repetirá cero veces)
- O participará sin repeticiones (es decir, se repetirá una vez)
Como resultado, obtendremos cuatro coincidencias.
En este ejemplo, agregaremos el carácter r a la cadena de patrón. Y solo tendremos dos coincidencias:
/colou?r/
colr, color, colour, colouur, colouuur
Utilicemos agrupación y clase de caracteres, y tendremos diferentes coincidencias:
- En el caso de la agrupación, se verifica la inclusión de todo el grupo cero o una vez
- En el caso de la clase de caracteres, se verifica la inclusión cero o una vez de uno de los caracteres, pero no todos al mismo tiempo
Veamos cómo funciona:
/col(ou)?r/
colr, color, colour, colouur, colouuur
/col[ou]?r/
colr, color, colour, colouur, colouuur
Otro cuantificador es el carácter +. El carácter, grupo o clase de caracteres precedente deben aparecer al menos una vez. Y eso es lo que sucede. Aquí, la palabra color ya no coincide:
/colou+r/
colr, color, colour, colouur, colouuur
El carácter * indica la ausencia de repeticiones o la repetición una o varias veces. Así obtenemos una coincidencia en todas las subcadenas, excepto colr:
/colou*r/
colr, color, colour, colouur, colouuur
Hay cuantificadores más precisos que se escriben entre llaves {}. Solo necesitamos especificar el número de repeticiones requeridas:
/colou{2}r/
colr, color, colour, colouur, colouuur
Además, en las llaves {} podemos especificar un rango de repeticiones. Por ejemplo, de dos a tres:
/colou{2,3}r/
colr, color, colour, colouur, colouuur
Si no especificamos el final del rango, el número máximo de repeticiones no estará limitado:
/colou{1,}r/
colr, color, colour, colouur, colouuur, colouuuur, colouuuuur
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.