Saltar al contenido principal
eLearner.app
Módulo 1 · Lección 1 de 41/32 en el curso~8 min
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.

Code
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í 12 y 38).

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ú

Ejercicio#regex.m1.l1.e1
Intentos: 0Cargando...

Encuentra todas las ocurrencias exactas (case-sensitive) de la palabra `ciao` en la muestra. Sugerencia: recuerda la flag `g`.

Cargando editor...
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

Ejercicio#regex.m1.l1.e2
Intentos: 0Cargando...

Encuentra todas las ocurrencias de la palabra `errore` en el texto, ignorando mayúsculas y minúsculas.

Cargando editor...
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

Ejercicio#regex.m1.l1.e3
Intentos: 0Cargando...

Identifica y recopila todas las ocurrencias exactas de la palabra `WARNING` (mayúsculas, case-sensitive) en el texto de registro de ejemplo.

Cargando editor...
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