Se necesita ayuda para expresiones regulares en Notepad++

Se necesita ayuda para expresiones regulares en Notepad++

Necesito conocer la sintaxis de una expresión regular (notepad++) para ayudarme a encontrar/reemplazar cada instancia de la siguiente cadena en un documento de texto.

la cadena es la siguiente

Where do you want to go next?
some text
some text
some text
Home

Ahora, "algo de texto" podría ser una sola línea o varias líneas de texto. Algunas veces, el mensaje '¿Adónde quieres ir ahora?' La cadena solo tendrá una línea de texto entre ella y Inicio.

El último elemento de esta lista siempre será la palabra Hogar, con una H mayúscula.

Quiero eliminar cada instancia de este bloque de texto (que aparece literalmente cientos de veces en este documento) de ¿Adónde desea ir a continuación?, cualquier línea de "algo de texto" y la palabra Inicio.

Donde me encontré con problemas fue el hecho de que "parte del texto" era variable y comenzaba en una nueva línea. Debo admitir que no soy tan bueno con las expresiones regulares, así que imagino que a alguien en Superuser.com le vendrían bien algunos puntos de reputación :)

Déjame saber si necesitas más información.

Gracias,

rico

Respuesta1

La versión más nueva de Notepad++ (>6.1.x, creo) ahora admite la coincidencia de varias líneas (ahora estoy usando 6.1.5)

En el cuadro de diálogo Buscar/Reemplazar, al lado del botón de opción "Expresión regular", hay una casilla de verificación llamada ". coincide con nueva línea", que significa coincidencia de varias líneas.

Marque esa casilla de verificación y luego use esta expresión regular:

^Where do you want to go next\?.*?^Home$

Respuesta2

Esta expresión regular funcionó para mí:

^Where do you want to go next?\r\n(.*\r\n)*?Home$

Windows utiliza \r\npara nuevas líneas. Los sistemas basados ​​en Unix sólo utilizan \n.

Esta distinción se me acaba de ocurrir ahora, así que gracias por enseñarme algo nuevo. :-)

información relacionada