Ajuda para expressões regulares necessária no Notepad ++

Ajuda para expressões regulares necessária no Notepad ++

Preciso saber a sintaxe de uma expressão regular (notepad++) para me ajudar a encontrar/substituir todas as instâncias da string a seguir em um documento de texto

a string é a seguinte

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

Agora, o 'algum texto' pode ser uma única linha ou várias linhas de texto. Algumas vezes, a pergunta 'Para onde você quer ir a seguir?' string terá apenas uma linha de texto entre ela e Home.

O último item desta lista será sempre a palavra Home, com H maiúsculo.

Quero remover todas as instâncias deste bloco de texto (que aparece literalmente centenas de vezes neste documento) de Para onde você deseja ir a seguir?, quaisquer linhas de 'algum texto' e a palavra Home.

O que eu estava enfrentando era o fato de que 'algum texto' era variável e começava em uma nova linha. Tenho que admitir que não sou muito bom em expressões regulares, então acho que alguém no Superuser.com poderia usar alguns pontos de reputação :)

Deixe-me saber se precisar de mais informações.

Obrigado,

Rico

Responder1

A versão mais recente do Notepad++ (> 6.1.x, eu acho) agora suporta correspondência de várias linhas (agora estou usando 6.1.5)

Na caixa de diálogo Localizar/Substituir, próximo ao botão de opção "Expressão regular", há uma caixa de seleção chamada ".corresponde à nova linha", que significa correspondência de várias linhas.

Marque essa caixa de seleção e use este regex:

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

Responder2

Este regex funcionou para mim:

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

O Windows usa \r\npara novas linhas. Sistemas baseados em Unix usam apenas \n.

Essa distinção me ocorreu agora, então obrigado por me ensinar algo novo. :-)

informação relacionada