2011-11-25 14 views
9

esencialmente deseo para que coincida con cada línea que no contienen esta cadena "Hola"Notepad ++ inverso Regex reemplazar (todos excepto cadena)

Ejemplo:

sdfsdoifdoskf 
fdgokfdghodfkg 
hello 
fdojgohdfgjkdfg 
gfobjobhkdfokgdfg 
dofjkdsf hello dfgkdfogdfg 
xcvmxhckvmxck 
fogkdfhokg 
hello 

que intentaron este patrón de expresión: ^((?!hello).)*$

No se encontraron coincidencias.

Básicamente quiero para eliminar todas las líneas que no lo hace contienen la cadena "hola" con el bloc de notas ++

+0

relacionados: http://superuser.com/questions/290247/how-to-delete-all-lines-in-notepad- except-lines-containing-a-word-i-need –

Respuesta

4

(véase la actualización, a continuación) No todos los de expresiones regulares son creados iguales - simplemente porque funciona en un solo lugar doesn' quiero decir que funciona en otro. Siempre verifique docs para el tipo que está usando.

En este caso, no hay "!" operador. Puede haber otros problemas, también, que no he notado.

El truco que uso para esta situación es hacer un "Buscar todo en el documento actual" para "hola", copiar/pegar el contenido de la ventana de búsqueda en un documento separado y eliminar los números de línea. Tiene que haber una mejor manera, pero hasta que lo encuentre, ¡es lo mejor que tengo!

La expresión regular para deshacerse de los números de línea es "^ Line [0-9]+:" - reemplácela con nada, por supuesto.

Actualización: La versión 6 de Notepad ++ cambió el motor de expresiones regulares por uno compatible con Perl, que admite "|". AFAICT, si tiene una versión 5. , la actualización automática no se actualizará a 6. - tiene que descargarla explícitamente.

+0

Eso no funcionaría para mí, ya que necesito mantener intacta la línea completa que contiene "hello". – user1064906

+0

@ user1064906 Sí, lo haría. ¡Intentalo! "Buscar todo en el documento actual" –

+0

@ user1064906 Ver la actualización al final - He añadido la expresión regular para deshacerse de los números de línea –

1

la nueva Versión (I Actualizado recientemente a 6.2.2) tiene la! operador implementado. Lo probé y funciona.

+0

"Es" el patrón en la pregunta. –

3

^((?!hello).)*$ obras en Notepad ++ 6. Me preguntan si es mejor que esto: ^(?!.*hello).*$

Cuestiones relacionadas