Saltar al contenido principal
eLearner.app
Módulo 3 · Lección 3 de 411/32 en el curso~10 min
Lecciones del módulo (3/4)

Flag `m`: multilínea

Con la flag m (multiline), las anclas ^ y $ cambian de significado: ya no representan el inicio/fin de toda la cadena, sino el inicio/fin de cada línea. Una línea está delimitada por \n (o por el inicio/fin de la cadena).

Code
Pattern: ^Errore
Flag:    gm
Sample:  Errore: A\nInfo: B\nErrore: C
         ^^^^^^         ^^^^^^

Sin m, coincidiría únicamente con Errore al inicio absoluto de la muestra (1 coincidencia). Con m, coincide con el inicio de cada línea (2 coincidencias).

m NO cambia el punto

Una confusión común: la flag m NO cambia el significado del punto .. El punto sigue sin coincidir con \n incluso con m. Para hacer que el punto coincida con todo, necesitas la flag s (vista en el módulo 1).

m y s son independientes (ortogonales): puedes usarlas juntas (ms), por separado o ninguna.

Flag multilínea y procesamiento línea por línea

La flag m modifica el comportamiento de ^ y $ al hacer que coincidan con el inicio y el final de cada línea (delimitada por \n) dentro de un bloque de texto multilínea, en lugar de mirar solo el inicio y final absolutos de toda la cadena.

Pruébalo tú

Ejercicio#regex.m3.l3.e1
Intentos: 0Cargando...

Encuentra cada línea que comience con `ERROR`. Cada línea está separada por \n; usa las flags `g` y `m`.

Cargando editor...
Mostrar pista

La flag m hace que ^ coincida también con el inicio de las líneas internas, no solo con el primer carácter absoluto.

Solución disponible después de 3 intentos

Ejercicio de repaso

Ejercicio#regex.m3.l3.e2
Intentos: 0Cargando...

Encuentra cada línea que TERMINE con un punto. Usa la ancla `$` con las flags `m` y `g`.

Cargando editor...
Mostrar pista

\.$ con flags gm coincide con el punto al final de cada línea, no solo al final de la muestra.

Solución disponible después de 3 intentos

Desafío adicional

Ejercicio#regex.m3.l3.e3
Intentos: 0Cargando...

Encuentra todas las líneas en un registro multilínea que comiencen exactamente con la cadena `ID:` seguida de un dígito.

Cargando editor...
Mostrar pista

Usa ^ antes de ID: y asegúrate de que la flag m esté activa.

Solución disponible después de 3 intentos