No Textpad ou Notepad++ existe uma opção para exportar todas as correspondências para uma localização de expressão regular, como uma única lista?
Em um grande arquivo de texto, estou procurando tags (palavras entre %%), usando expressão regular %\< and \>%
e quero todas as correspondências como uma única lista, para poder remover duplicatas usando o Excel e obter uma lista de tags exclusivas.
Responder1
Você pode conseguir isso usandoReferências anteriorese funcionalidade Localizar e Marcar no Notepad++.
Encontre as correspondências usando regex (digamos
%(.*?)%
) e substitua por\n%\1%\n
, depois disso teremos nossa palavra alvo em linhas separadas (ou seja, nenhuma linha terá mais de uma palavra correspondente)Use a funcionalidade Pesquisar-->Localizar-->Marcar para marcar cada linha com regex
%(.*?)%
e lembre-se de marcar 'Linha de favoritos'antes de marcar o texto- Selecione Pesquisar-->Favorito-->Remover linhas não marcadas
- Salve o texto restante. É a lista obrigatória.
Responder2
Está fazendo issoemNotepad++ é um requisito obrigatório? Você está no Windows ou em alguma forma de Unix? Se você estiver no Windows, poderá fazer isso (parcialmente) no prompt de comando:
findstr /r "%[az].*[az]% %[az]%"seu arquivo>novo arquivo
findstr
é vagamente inspirado em grep
, então estenovo arquivo
conterá todoslinhascorrespondendo aos seus critérios de pesquisa; você pode então usar o Notepad++ para remover o texto indesejado (à esquerda do primeiro% e à direita do segundo).
E, claro, se você estiver no Unix, poderá fazer a tarefa equivalente com sed
. E se você tiver GNU grep
(ou seja, se estiver no Linux), você pode fazer isso com grep -o
.
Responder3
Existe um plugin Notepad++ que pode copiar a expressão regex correspondente para um novo arquivo em uma nova guia. Extrato Regex
Como não encontrei nenhum plugin para o Notepad++ que pudesse extrair algum texto do documento atual ou todos os arquivos de um local com algumas configurações adicionais (como conversão de maiúsculas e minúsculas), decidi tentar fazer isso sozinho. (...) A interface do plugin é bastante direta (...). (...) Os campos "Localizar", "Substituir" e "Máscara" usam a sintaxe regex C++11. A extração de arquivos funciona no momento apenas para aqueles em UTF8.
Editar Entrada de diálogo adaptada à pergunta
Na imagem você pode ver como preencher a caixa de diálogo. Presumo que uma palavra não contenha espaços, etc., apenas caracteres correspondentes a \w. Notavelmente:
- Use um par de colchetes para permitir a seleção da palavra, sem os caracteres de porcentagem.
- Escolha a opçãoExtrair com substituir, para selecionar a primeira correspondência. Caso contrário, você obterá uma saída colunar de todos os $1, $2, etc.
- VerificarPular $& ...para deixar de fora as correspondências completas.
- VerificarFiltrar únicorelatar cada partida apenas uma vez.
- CliqueExtrairpara selecionar obter resultados. (Procurarapenas encontra as correspondências, mas não informa).
Responder4
Se alguém estiver interessado em uma solução online (já que o plugin notepad++ não funciona em 64 bits), você pode tentarMolbiotoolsele pode extrair seu regex completamente sem linhas adicionais ou com elas.