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

10

Je veux trouver un éditeur de texte capable d'exécuter et de stocker principalement des expressions régulières pour une ré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'y a 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 presque à mes besoins.

Il y a EditPad Pro pour Windows (fonctionne sur wine) mais le natif est toujours meilleur :)

Mashimom
la source

Réponses:

18

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

Soit dit en passant, sed est probablement une meilleure alternative que grep pour les manipulations RegEx à partir de la ligne de commande, et vous pouvez écrire et enregistrer des scripts pour cela. (Bien sûr, vous pouvez également utiliser perl, awk et python pour reg ex.)

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

frabjous
la source
2
Je déteste être ce type, mais «trop», pas «deux».
TJ L
Oh! Désolé pour la faute de frappe. Ne t'inquiète pas. Je suis généralement ce type. J'avais l'intention de mentionner que si vous voulez rester avec gEdit, vous pouvez installer son joli plugin External Tools et l'utiliser pour exécuter des scripts sed sur le tampon.
frabjous
@ tj111 - Ne vous excusez jamais d'être axé sur les détails. Dans notre ligne de travail, ce serait inquiétant si vous ne pensiez pas que c'était important. :-)
Scott Smith
15

Geany a une bonne série de trouvailles:

trouver geany

remplacer:

Geany remplacer

et recherche de fichiers:

geany grep

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

Il a un historique de recherche / remplacement, mais cela est limité à une session.

dv3500ea
la source
1
Il est beaucoup plus facile d'utiliser Geany lorsque vous avez besoin d'un éditeur GUI rapide avec prise en charge des expressions régulières, plutôt que d'avoir à fouiller sur Internet et les pages de manuel pour apprendre la syntaxe des expressions régulières dans vi (m)
Alex Marshall
6

Si vous voulez simplement exécuter regex sur un tas de fichiers, je pense qu'il est temps pour vous d'en apprendre davantage sedetawk

maco
la source
Vous pouvez enregistrer et modifier les scripts dans un fichier avec sedou awkaussi.
pbhj
2

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

À partir de 2012, il a la fonction de mettre en signet une expression afin que vous puissiez la réutiliser. Il peut également rechercher et remplacer des fichiers ouverts, des fichiers dans un dossier (avec un filtre) ou à l'intérieur d'une sélection de texte.

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

Fondamentalement, vous devez:

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

  2. Décompressez-le.

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

  4. Accédez aux préférences / plug-in et activez-le.

Capture d'écran de la boîte de dialogue Recherche avancée / remplacement ouverte

PhoneixS
la source
1

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 dupliquer ici comme une réponse à moi: RegExr est le meilleur outil que j'ai jamais utilisé pour la manipulation de texte en utilisant des expressions régulières. Il vous expliquera même chaque partie de l'expression rationnelle!

Il s'agit d'un outil en ligne, mais il existe une version de bureau . Il utilise Adobe AIR, qui a été abandonné pour Linux, vous devrez donc peut-être l'installer en suivant ces excellentes instructions étape par étape . Après cela, téléchargez le .airfichier pour la page de bureau RexExr liée ci-dessus, et vous devriez pouvoir l'ouvrir avec le programme d'installation AIR. Puis éditez!

waldyrious
la source
1

Je suis vraiment surpris que personne n'ait mentionné 'medit' ... la recherche / remplacement a une simple case à cocher indiquant à medit que le critère que vous avez entré est une expression regex ... peut être aussi simple ou complexe que vous le souhaitez ..

michaelg
la source
Bienvenue sur AskUbuntu. Il serait plus utile de développer la réponse avec des exemples et / ou des captures d'écran.
Sri
0

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

Appuyez sur CTRL+ Fet cliquez sur le .*bouton pour passer en mode regex.

Vous pouvez également appuyer sur CTRL+ ALT+/

Aussi sur github.

Question connexe sur la façon d'utiliser l'expression régulière dans l'atome.

Ou vous pouvez utiliser catet sed.

Utilisez sed -epour imprimer simplement les modifications. Permet sed -ide modifier réellement le contenu du fichier.

Voir ici pour plus d'informations.

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

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

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

mchid
la source
0

Eclipse est le meilleur mais un peu lourd à cet effet. Toutes les constatations sont disponibles dans un volet séparé. (squelette) Vous pouvez passer immédiatement à l'un d'eux.

elajmor
la source