Dans Textpad ou Notepad ++, existe-t-il une option pour exporter toutes les correspondances pour une recherche d'expression régulière, sous forme de liste unique?
Dans un gros fichier texte, je recherche des balises (mots inclus dans%%), en utilisant une expression régulière %\< and \>%
, et je veux toutes les correspondances en une seule liste, afin de pouvoir supprimer les doublons à l'aide d'Excel et obtenir une liste de balises uniques.
Réponses:
Vous pouvez y parvenir en utilisant les références arrières et la fonctionnalité Rechercher et marquer dans Notepad ++.
Trouvez les correspondances en utilisant l'expression régulière (disons
%(.*?)%
) et remplacez-la par\n%\1%\n
, après cela, nous aurons notre mot cible sur des lignes distinctes (c'est-à-dire qu'aucune ligne n'aura plus d'un mot correspondant)Utilisez la fonctionnalité Rechercher -> Rechercher -> Marquer pour marquer chaque ligne avec l'expression régulière
%(.*?)%
et n'oubliez pas de cocher « Marque-page » avant de marquer le textela source
Est-ce que cela dans Notepad ++ est une exigence obligatoire? Êtes-vous sous Windows ou sous une forme Unix? Si vous êtes sous Windows, vous pouvez le faire (en partie) à partir de l'invite de commandes:
findstr
est vaguement inspiré pargrep
, donc ce nouveau_fichier contiendra toutes les lignes correspondant à vos critères de recherche; vous pouvez ensuite utiliser Notepad ++ pour supprimer le texte indésirable (à gauche du premier% et à droite du second).Et, bien sûr, si vous êtes sous Unix, vous pouvez effectuer la tâche équivalente avec
sed
.la source
Il existe un plugin Notepad ++ qui peut copier l'expression regex correspondante dans un nouveau fichier dans un nouvel onglet. RegexExtract
Modifier l' entrée de dialogue adaptée à la question
Dans l'image, vous pouvez voir comment remplir la boîte de dialogue. Je suppose qu'un mot ne contient pas d'espaces, etc., uniquement des caractères correspondant à \ w. Notamment:
la source
Dans TextPad, vous affichez la
Find
boîte comme d'habitude, puis utilisez leMark All
bouton.De là, utilisez la
Copy Bookmarked Lines
fonction. (Menu Edition> Copier autre> Lignes marquées.)la source