regex - regular - Eliminar todas las líneas que comiencen con#o; en Notepad++
notepad++ search regular expression example (5)
Usando Notepad ++, ¿cómo elimino todas las líneas que comienzan con # o;?
Como han señalado otros, en Notepad ++ 6.0 y posterior, es posible utilizar la función "Reemplazar" para eliminar todas las líneas que comienzan con ";" o "#".
Tao proporciona una expresión regular que sirve como punto de partida, pero no tiene en cuenta el espacio en blanco que puede existir antes del ";" o el carácter "#" en una línea dada. Por ejemplo, líneas que comienzan con ";" o "#" pero son "tabbed-in" no se eliminarán cuando se usa la expresión regular de Tao, ^(#|;).*/r/n
.
La expresión regular de Tao no tiene en cuenta la advertencia mencionada en la respuesta de BoltClock, ya sea: variaciones en los caracteres de nueva línea en todos los sistemas.
Una mejora es usar ^(/s)*(#|;).*(/r/n|/r|/n)?
, lo que explica las principales variaciones de espacio en blanco y de carácter de línea nueva. Además, el final ?
maneja casos en los que la última línea del archivo comienza con #
o ;
, pero no termina con una nueva línea.
Para los curiosos, es posible discernir qué tipo de carácter de nueva línea se usa en un documento dado (y se puede usar más de un tipo): Ver -> Mostrar símbolo -> Mostrar fin de línea.
En Notepad ++, puede usar la pestaña Marcar en Buscar diálogo para marcar todas las líneas que coincidan con su consulta, que pueden ser regulares o normales (comodín).
Luego use Buscar> Marcador> Eliminar líneas marcadas.
Encontrar:
^[#;].*
Reemplace con nada. El ^
indica el inicio de una línea, el [#;]
es una clase de caracteres para coincidir con #
o ;
y .*
coincide con cualquier otra cosa en la línea.
En versiones de Notepad ++ anteriores a 6.0, no podrá eliminar realmente las líneas debido a una limitación en su motor de expresiones regulares; el reemplazo da como resultado líneas en blanco para cada línea coincidente. En otras palabras, esto:
# foo ; bar statement;
Se convertirá en:
statement;
Sin embargo, el reemplazo funcionará en Notepad ++ 6.0 si agrega /r
, /n
o /r/n
al final del patrón, dependiendo de qué línea esté usando el archivo, lo que da como resultado:
statement;
Es posible, pero no directamente.
En resumen, vaya a la búsqueda, use su expresión regular, marque "marcar línea" y haga clic en "Buscar todo". Resulta en marcadores para todas esas líneas.
En el menú de búsqueda hay un punto "borrar líneas marcadas" voila.
Encontré la respuesta aquí (¡la respuesta correcta es la segunda, no la aceptada!): ¿Cómo eliminar líneas específicas en Notepad ++?
Tal vez deberías probar
^[#;].*$
^
coincide con el comienzo, $
el final.