Notepad++/Regular Expression para encontrar linha com o mesmo começo, final diferente

Notepad++/Regular Expression para encontrar linha com o mesmo começo, final diferente

Então, li um pouco e descobri que o NotePad++ não usa regex "normal" (começo a pensar que vou voltar ao SciTE), mas aqui está minha pergunta:

Eu tenho uma lista de dados exportada com alguns dados redundantes que estou tentando limpar e converter em um bom CSV para importar para catálogos de endereços (migrando uma solução de servidor de Fax, a antiga é OOOOLD e então esta é a melhor Posso obter para exportação).

A linha que estou tentando remover de cada grupo de entrada sempre começa

Entrada: NOME ~

E há um código alfanumérico de 12 dígitos (parece ser hexadecimal) que é exclusivo para cada grupo de entrada. Para alguns grupos de entrada, há uma entrada legível após "NOME", mas são poucas o suficiente para que eu possa removê-las manualmente, portanto, combiná-las não é uma grande tarefa.

Então, o que eu quero fazer é encontrar todas as linhas que começam com Entry: e selecioná-las até o final da linha. Cada entrada em cada grupo está em uma linha separada. Então usarei Localizar e Substituir para remover essas linhas da lista.

ATUALIZAÇÃO: Entrada e Saída

Entry: NAME ~00003193820
ShortName: ~00003193820
Owner: USRENAME
Name: John
FamilyName: John
DearName: John
Organisation: Acme 1 Corp
Via: FAX-ANY 1(555) 123-4567

Entry: NAME ~00003193820
ShortName: ~00003193820
Owner: USRENAME
Name: Sam
FamilyName: Sam
DearName: Sam
Organisation: Acme 2 LLC
Via: FAX-ANY 1(555) 890-1234

Aqui estão dois grupos de entrada. Quero remover as linhas que começam com "Entry:" de cada grupo.

Responder1

Outra opção seria

^Entry: NAME .*

Que procurará linhas começando com Entry: NAMEe qualquer coisa depois disso.

Responder2

Usando

^Entry: NAME ~\d+$

pois o padrão de pesquisa parece funcionar conforme solicitado.

Eu pessoalmente recomendaria a correspondência usando o \despaço reservado (que corresponde a qualquer dígito no intervalo de 0até 9) em vez de um espaço reservado mais geral .. Na verdade, você deveria até fazer isso:

^Entry: NAME ~\d{12}$

para especificar que você esperaexatamente12 dígitos seguidos. Dessa forma, se uma entrada contiver algo que você não esperava, você não a substitui por acidente.

Se a string estiver em notação hexadecimal, você poderá usar:

^Entry: NAME ~[0-9a-fA-F]{12}$

Observe que não verifiquei se os dois últimos exemplos funcionam corretamente no Notepad ++, mas, pelo que sei, tudo isso é uma sintaxe bastante básica.

informação relacionada