Lecciones del módulo (1/4)
Patrones literales
En una regex, los caracteres alfanuméricos "normales" simplemente se buscan a sí mismos: escribe ciao como patrón y el motor buscará la subcadena ciao dentro del texto. Nada más mágico: un escaneo de izquierda a derecha posición por posición.
Pattern: ciao
Sample: Buongiorno, ciao mondo! Ti dico anche ciao.
^^^^ ^^^^El match siempre lleva consigo dos informaciones fundamentales:
- el texto coincidente (aquí
ciao); - el índice (offset 0-based) en el que comienza en la muestra (aquí
12y38).
Las regex son por defecto case-sensitive: ciao no coincide con Ciao ni con CIAO. Para ignorar mayúsculas y minúsculas añade la flag i (case-insensitive).
Cómo razona el motor
El motor regex analiza el texto un carácter a la vez. Cuando busca el patrón literal ciao, busca primero la letra c. Si la encuentra, verifica si el carácter siguiente es i, luego a, y finalmente o. Si uno de estos falla, el motor retrocede (backtrack) a la posición inicial siguiente y vuelve a buscar la c.
Patrones literales y flag g
Sin la flag g (global), el motor se detiene en el primer match encontrado y detiene la búsqueda. Con g activa, continúa hasta el final de la cadena y recopila todos los matches sucesivos. En las lecciones de este curso activaremos casi siempre g: queremos ver todos los matches presentes en el texto.
Pruébalo tú
Encuentra todas las ocurrencias exactas (case-sensitive) de la palabra `ciao` en la muestra. Sugerencia: recuerda la flag `g`.
Mostrar pista
El patrón es la propia palabra. Las mayúsculas no deben coincidir: sin flag i.
Solución disponible después de 3 intentos
Ejercicio de repaso
Encuentra todas las ocurrencias de la palabra `errore` en el texto, ignorando mayúsculas y minúsculas.
Mostrar pista
La misma palabra como patrón, pero añade la flag i (case-insensitive) además de g.
Solución disponible después de 3 intentos
Desafío adicional
Identifica y recopila todas las ocurrencias exactas de la palabra `WARNING` (mayúsculas, case-sensitive) en el texto de registro de ejemplo.
Mostrar pista
Busca directamente la cadena de texto WARNING, asegurándote de no activar la flag i.
Solución disponible después de 3 intentos