Encontre e substitua n caracteres de seqüência aleatória longa no Notepad ++ usando curingas / regex

9

Eu tenho um despejo de SQL com expressões como youtubehd:2nj6bykw. Também 2nj6bykwpode ser uma sequência aleatória diferente. Tem sempre 8 caracteres.

Eu quero substituir youtubehd:2nj6bykwpor apenas youtubehd.

Como posso fazer isso sem substituí-lo manualmente, um por um? O dump do SQL tem mais de 230000 linhas e possui cerca de 200 ocorrências dessas seqüências.

Suponho que preciso de um curinga, mas não tenho idéia do que é e como posso fazer isso.

laranja
fonte

Respostas:

15

Verifique se você possui um backup caso algo dê errado.

  • No Notepad ++, vá para Pesquisar → Substituir
  • Na caixa de texto Localizar, cole o seguinte:youtubehd:\w\w\w\w\w\w\w\w
  • Na caixa de texto Substituir por, cole o seguinte:youtubehd
  • Verifique se o Modo de pesquisa está definido como Expressão regular
  • Clique em Substituir tudo

Agradecemos ao KCotreau por apontar que o modo de pesquisa é padronizado como Normal e precisa ser alterado.

Editar:

Foi indicado nos comentários abaixo que você poderia usar youtubehd:\w{8}como padrão de pesquisa. Isso é correto e de fato preferível. O suporte para isso foi adicionado apenas no Notepad ++ v6, embora o que foi publicado depois disso tenha sido originalmente escrito, daí a razão pela qual eu usei o formulário mais longo. Veja aqui para mais.

James P
fonte
1
+1 Estive me espancando tentando descobrir isso. Deve ser tão simples, mas não foi fácil de encontrar. Eu testei isso e funciona. Eu acrescentaria: Escolha "Expressão regular" para o tipo de pesquisa.
KCotreau
Mais elegante seria: youtubehd:\w{8}para lenth fixa e youtubehd:\w*para qualquer
AndriuZ
@AndriuZ: Eu conhecia a \w{8}sintaxe, mas, para meu conhecimento, o Notepad ++ não a suportava na época e acredito que foi adicionada em uma versão posterior. Provavelmente atualizarei a resposta para refletir isso em algum momento.
James P
@ James P funcionou quando testado em Np ++ 7.4.2 32bit
AndriuZ