web-dev-qa-db-fra.com

Un éditeur de texte capable d’exécuter des expressions régulières complexes?

Je souhaite trouver un éditeur de texte capable d'exécuter et de stocker principalement des expressions régulières pour une utilisation ultérieure. Il devrait également être capable de les exécuter sur plusieurs fichiers.

Je sais que je peux obtenir tout cela avec grep, mais il n’ya pas grand chose à réutiliser dessus. J'ai pu obtenir des fonctionnalités d'expression régulière sur Gedit avec des plugins, mais pas assez près de mes besoins.

Il existe EditPad Pro pour Windows (fonctionne sur le vin), mais le natif est toujours mieux :)

10
Mashimom

Les deux éditeurs Unix open source classiques sont GNU emacs et (g) Vim , et les deux fonctionnent parfaitement sous Ubuntu. Ils ont tous deux plus de fonctionnalités que vous ne pouvez en apprendre au cours de votre vie, y compris ce que vous recherchez. Il y en a plein d'autres deux aussi, mais vous pourriez aussi bien commencer par le meilleur. (J'essaierai de ne pas savoir lequel de ces deux est le meilleur, car c'est déjà une guerre sainte épique.)

À propos, sed est probablement une meilleure alternative que grep pour les manipulations RegEx à partir de la ligne de commande, et vous pouvez écrire et sauvegarder des scripts pour cela. (Bien sûr, vous pouvez aussi utiliser Perl, awk et python pour reg ex.)

Quelques inspirations de xkcd: http://imgs.xkcd.com/comics/real_programmers.png

18
frabjous

Geany a un bon jeu de trouver:

geany find

remplacer:

geany replace

et recherche de fichier:

geany grep

traits. Il n'a pas de capacité intégrée pour enregistrer les expressions régulières pour plus tard, bien que vous puissiez toujours les stocker dans un fichier texte.

Il existe un historique de recherche/remplacement, mais celui-ci est limité à une session.

15
dv3500ea

Si vous voulez juste exécuter regex sur un tas de fichiers, je pense qu'il est temps que vous en appreniez plus sur sed et awk

6
maco

Vous pouvez utiliser une combinaison de GEdit et du plugin Advanced find / replace plugin for gedit que vous pouvez trouver dans http://code.google.com/p/advanced-find/ .

À partir de 2012, il a pour caractéristique de marquer une expression afin que vous puissiez la réutiliser. En outre, il peut rechercher et remplacer des fichiers ouverts, des fichiers d’un dossier (avec un filtre) ou à l’intérieur d’une sélection de texte.

Pour savoir comment installer, vous pouvez suivre les instructions de sa page wiki http://code.google.com/p/advanced-find/wiki/Installation .

Fondamentalement, ce que vous devez faire est:

  1. Téléchargez la version appropriée pour votre gedit à partir de http://code.google.com/p/advanced-find/downloads/list .

  2. Décompressez-le.

  3. Exécutez install.sh (sans Sudo).

  4. Allez dans préférences/plug-in et activez-le.

Screen capture of Advanced Find/Replace dialog opened

2
PhoneixS

Je suis vraiment surpris que personne ne mentionne 'medit' ... la recherche/remplacement a une simple case à cocher qui indique à medit que les critères que vous avez entrés est une expression rationnelle ... peut être aussi simple ou complexe que vous le souhaitez ..

1
michaelg

Je voulais ajouter un commentaire pointant vers cette réponse , mais comme je n'ai apparemment pas assez de réputation pour cela, je vais le reproduire ici comme une réponse personnelle: RegExr est le meilleur outil que j'ai jamais utilisé pour la manipulation de texte à l'aide d'expressions régulières. Il vous expliquera même chaque partie de la regex!

C'est un outil en ligne, mais il y a version de burea . Ceci utilise Adobe AIR, qui est abandonné pour Linux. Vous devrez donc peut-être l'installer après ces excellents instructions pas à pas . Après cela, téléchargez le fichier .air pour la page de bureau RexExr liée ci-dessus et vous devriez pouvoir l'ouvrir avec le programme d'installation AIR. Puis éditez loin!

1
waldyrious

Eclipse est préférable mais un peu lourd à cet effet. Tous les résultats sont disponibles dans un volet séparé. (squelette) Vous pouvez sauter immédiatement à l'un d'entre eux.

0
elajmor

Atom a cette fonction. Téléchargez et installez le paquet "deb".

Presse CTRL + F et cliquez sur le .* bouton pour passer en mode regex.

Sinon, vous pouvez appuyer sur CTRL + ALT + /

également sur github.

Question connexe sur l'utilisation de regex dans atom.

Ou vous pouvez utiliser cat et sed.

Utilisez sed -e pour simplement imprimer les modifications. Utilisez sed -i pour éditer le contenu du fichier.

Voir ici pour plus d'informations.

Vous pouvez également utiliser egrep pour utiliser des expressions régulières avec grep.

Si vous avez juste besoin de rechercher des fonctions de remplacement, gedit accepte les expressions régulières si vous appuyez sur CTRL + F.

Vous pouvez également faire expressions régulières dans vim .

0
mchid