J'ai souvent besoin de créer des expressions régulières à utiliser dans les scripts (surtout lorsqu'elles sont utilisées dans sed
), mais je trouve que parfois les expressions régulières deviennent très compliquées et difficiles à comprendre et à modifier. Existe-t-il un logiciel qui permet de créer visuellement le code des expressions régulières, que je peux ensuite copier et coller dans un script?
software-rec
regular-expression
gui
Village
la source
la source
Que diriez-vous de kregexpeditor
la source
Essayez txt2regex et voyez si cela aide. Je ne l'ai jamais utilisé sérieusement, mais ça avait l'air cool quand je l'ai essayé.
la source
Il y a des kodos si vous préférez une application autonome. Dernièrement, j'utilise des visualiseurs regex en ligne comme http://debuggex.com ou http://www.regexper.com/
la source
Pas exactement ce qu'OP demande - mais je pense que c'est pertinent, donc je vais croiser la recommandation pour l'éditeur Regex? # 549107 - Demandez à Ubuntu :
Voici ma tentative d'un outil d'interface graphique visuelle regex, appelé
visRegexTester.py
:Il a un "aperçu en direct" ("Réexécution automatique") si vous tapez et modifiez le champ "regex". Sinon, c'est juste ce fichier unique; il y a un commentaire README au début - en voici un extrait:
... voir le reste pour plus. La capture d'écran:
la source
Oui, text2re.com devrait être proche de ce que vous recherchez. Étant donné le texte source, vous pouvez choisir de générer une expression régulière qui correspond à l'un des textes donnés. L'outil génère également du code pour une poignée de langues.
L'interface utilisateur du générateur d'expressions régulières (étape 2 de la page) est légèrement difficile à apprendre; notez que le survol de l'une des options explique l'objet auquel vous faites correspondre:
la source
Je ne sais pas trop ce que vous entendez par "créer visuellement le code" (voulez-vous dire un outil GUI?). Si vous êtes comme moi, je trouve impossible de travailler avec des expressions régulières complexes, à moins de les disposer de manière structurée, afin de pouvoir obtenir une meilleure représentation visuelle de la logique.
Vraiment,
sed
c'est juste un langage de script, et il peut être présenté comme d'autres langages, c'est-à-dire avec une commande par ligne. Voici un exemple typique de ce que je veux dire: Un regex sed montrant une disposition structurée .Une fonction très pratique de
sed
est sa commande de débogagel
, qui est un simple vidage de ligne montrant l'espace de motif avec des sauts de ligne incorporés montrés comme\n
, etc.Le problème avec
sed
n'est pas seulement les expressions régulières. Il a un ensemble cryptique de commandes funky pour les tests de boucle et de condition; cela prend du temps pour s'habituer à ... Le meilleur outil que j'ai jamais trouvé pour m'aider à gérersed
est tout simplement: j'ai lu le manuel en détail . les choses simples fonctionnent; puis accumulez de plus grandes choses pour acquérir de l'expérience ..Perl regex a quelques fonctionnalités utiles pour aider à établir des modèles complexes; par exemple. la possibilité d'ignorer les espaces dans votre expression .. (Comme un défi, et pour le facteur expereince , j'ai écrit un
sed
analyseur pour analyser monsed
code pour autoriser de tels espaces ... PS. Je n'en ai pas besoin maintenant; à cause de l'expérience :) En fait, le simple fait de disposer des commandes, une par ligne, est presque aussi bon que la fonctionnalité perl.Le meilleur outil pour vous aider est: l' expérience . par exemple. Aborder les questions regex sur ce site est un excellent moyen d'obtenir cette expérience ... Je pense que les outils GUI n'aident pas vraiment beaucoup, car ils inhibent l' expérience ...
En résumé, les meilleurs outils d'aide sont l' expérience et la disposition structurée , et lisez le manuel (en détail).
J'ai beaucoup utilisé le mot "expereince". J'entends par là que l'acte de préparer des expressions régulières (et dans le cas de
sed
toute logique de boucle, etc.) est le facteur clé .. Type "Regex-Builder" outils; n'écrivez pas l'expression régulière pour vous; ils ne font que le tester, et ils ne géreront certainement pas la logique du programme de sed , parce que ce n'est pas une expression rationnelle .. (et vous l'avez spécifiquement distinguésed
) ... La mise en évidence de la syntaxe qu'ils peuvent offrir ne fait pas grand chose pour moi . Un éditeur avec une bonne correspondance des parenthèses est assez pratique cependant (j'utilise emacs) ..la source
emacs re-builder
et cela ne m'a pas aidé du tout ... pas le dernier jour ... Tout ce qu'il m'a montré, c'estemacs
qu'il a besoin d'une ou deux barres obliques inverses supplémentaires, à cause de la façon dont emacs évalue les choses ... Vous pouvez faire le même test en évaluant votre expression régulière viaC-x C-e
.. Il n'écrit pas l'expression pour vous; vous avez encore besoin de l'écrire ... Et puis il y a leemacs
système d'écriture d'une expression rationnelle en utilisant des mots descriptifs .. (Je pensais que le système verbeux / anglais s'est éteint avec COBOL .. mais même COBOL n'est pas complètement mort, encore) .. et respectles, vous avez encore besoin de l'écrire.