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

2

Eu preciso saber a sintaxe para uma expressão regular (notepad ++) para me ajudar a encontrar / substituir cada instância da seguinte string 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, "Onde você quer ir a seguir?" string terá apenas uma linha de texto entre ela e a Página inicial.

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

Eu quero remover todas as instâncias desse bloco de texto (que aparece literalmente centenas de vezes neste documento) de Onde você deseja ir a seguir ?, qualquer linha de "algum texto" e a palavra Início.

Onde eu estava correndo em problemas foi o fato de que 'algum texto' era variável e começou em uma nova linha. Eu tenho que admitir que não sou tão bom em expressões regulares, então eu acho que alguém no Superuser.com poderia usar alguns pontos de reputação :)

Deixe-me saber se você precisa de mais informações.

Obrigado,

Richie

    
por Richie086 15.08.2012 / 06:03

2 respostas

3

A nova versão do Notepad ++ (> 6.1.x acho) agora suporta multi-line matching (agora estou usando 6.1.5)

Na caixa de diálogo Localizar / Substituir, ao lado do botão de opção "Expressão regular", há uma caixa de seleção chamada ". combina 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$
    
por 15.08.2012 / 07:35
0

Esse regex funcionou para mim:

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

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

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

    
por 15.08.2012 / 06:54