Lecciones del módulo (4/4)
Líneas vacías y trim
Combinemos las anclas + la flag m para dos aplicaciones extremadamente útiles: coincidir con líneas vacías y recortar (trim) los espacios en blanco al inicio/fin de cada línea.
Líneas vacías
Una línea vacía es una posición donde ^ y $ coinciden: cero caracteres entre el inicio y el final de la línea.
Pattern: ^$
Flag: gm
Sample: uno\n\ndue\n\n\ntreLa coincidencia es de ancho cero: el resaltador mostrará un marcador entre los dos \n. Para coincidir también con líneas "vacías pero con espacios", usa ^\s*$.
Recortar (trim) una línea
Para eliminar los espacios en blanco al inicio o al final de una línea, combina un ancla + la clase \s + un cuantificador:
^\s+ coincide con los espacios al inicio de la línea (luego se reemplaza por una cadena vacía, módulo 7)
\s+$ coincide con los espacios al final de la líneaCon las flags gm recopilas todos los espacios marginales de cada línea.
Identificar líneas vacías y espacios al final
Una línea puramente vacía coincide con ^$ (con la flag m). Sin embargo, muchas líneas aparentemente vacías contienen espacios invisibles o tabuladores. El patrón ^\s*$ intercepta también estas líneas, facilitando enormemente la limpieza de datos.
Pruébalo tú
Encuentra cada línea vacía en la muestra (cero caracteres entre dos saltos de línea). Usa `^$` con las flags `gm`.
Mostrar pista
Una línea vacía es una posición donde ^ y $ coinciden. La flag m es obligatoria.
Solución disponible después de 3 intentos
Ejercicio de repaso
Encuentra los espacios en blanco al final de cada línea (los caracteres de espacio que preceden al salto de línea). Usa `\s+$` con las flags `gm`.
Mostrar pista
\s+ coincide con uno o más caracteres de espacio en blanco (incluyendo tabuladores). Con gm te anclas al final de cada línea.
Solución disponible después de 3 intentos
Desafío adicional
Encuentra todas las líneas que comiencen con el carácter `#` (líneas completas de comentarios, ignorando comentarios en línea).
Mostrar pista
Usa ^ al principio del patrón para indicar que el carácter de comentario # debe iniciar la línea.
Solución disponible después de 3 intentos