En esta lección nos familiarizaremos con los llamados flags (banderas), que permiten cambiar el comportamiento de las expresiones regulares y las reglas de búsqueda de coincidencias en una cadena.
Presta atención a este ejemplo:
/aa/
aa aa aa
La expresión regular aa solo coincide con una subcadena en esta cadena, aunque debería haber tres. Esto sucede porque por defecto, las expresiones regulares solo buscan la primera coincidencia. Para cambiar este comportamiento, se utilizan las flags.
Si has utilizado un editor de expresiones regulares o has visto un video tutorial durante este curso, habrás notado un campo ubicado a la derecha de la cadena de patrón.
La mayoría de las veces, este campo tiene una flag global /g (global). Esta flag permite buscar todas las coincidencias en una cadena y no se detiene después de la primera coincidencia.
Vamos a agregar la flag g. Ahora se han encontrado todas las subcadenas:
/aa /g
aa aa aa
En este curso, utilizamos la flag g de forma predeterminada en nuestros ejemplos y no la mencionamos adicionalmente. Sin embargo, es posible que la encuentres en las expresiones regulares de los tests y ejercicios prácticos. Si ves /g al final de una expresión regular, ten en cuenta que es la flag de búsqueda global.
La flag global se utiliza con frecuencia cuando se necesita no solo encontrar una coincidencia con una expresión regular en una cadena, sino también extraer o utilizar los resultados de la búsqueda.
Dependiendo del lenguaje de programación, las flags pueden incluirse directamente en las expresiones regulares o pueden establecerse de otras formas. Debes consultar la documentación del lenguaje para ver cómo se implementa específicamente.
Por último, vamos a ver algunas flags más.
Por ejemplo, existe la flag /i, que activa el modo de ignorar mayúsculas y minúsculas:
/aa /gi
aa Aa AA
Otra flag es /s. Esta flag permite que el metacaracter . coincida con saltos de línea. En otras palabras, con esta flag, la cadena en la que buscamos coincidencias se trata como una sola línea. A veces esto puede ser útil.
¿No te recuerdan las flags algo que ya hemos visto antes? Correcto, en esencia son versiones más poderosas de los modificadores que vimos en la lección ocho.
Los modificadores permiten realizar cambios más específicos en las reglas de coincidencia, mientras que las flags lo hacen a nivel global.
Existen algunas flags más. Tu tarea después de esta lección es explorar las demás. Ingresa a cualquier editor de expresiones regulares, lee la documentación sobre las flags, prueba los ejemplos que encuentres y asegúrate de utilizar cada flag.
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.