Regex-Tool für Linux


7

Windows hat ein wunderbares Tool, das mit regulären Ausdrücken arbeitet - RegexBuddy . Es gibt zwei Probleme:

  1. Es ist kommerziell.
  2. Es läuft unter Windows (Linux-Version nicht mehr verfügbar).

Welche Tools (außer grep) verwenden Sie für die Arbeit mit regulären Ausdrücken unter Linux?


1
was brauchst du dafür, dass grep es nicht tut?
Jeremy French

4
Er sucht nach einem Tool, das beim Debuggen regulärer Ausdrücke helfen kann.
ConcernedOfTunbridgeWells

Antworten:


7

Siehe meine Antwort auf Wie schreibst und testest du deine regulären Ausdrücke? auf StackOverflow.

Verwenden Sie weder Regex Buddy noch ein ähnliches Tool.

Nehmen Sie sich etwas Zeit, um zu lernen, wie reguläre Ausdrücke funktionieren.

Sie sind tatsächlich viel einfacher als die Leute denken.


2
Yup: Ich gebe den gleichen Rat über Software zur Rechtschreibprüfung. Sag einfach nein. Lern es.
Telemachus

Hmm, ich bin mir bei der Rechtschreibung weniger sicher - es gibt eine große Anzahl von Wörtern, Sprachen und Grammatik-Kuriositäten, die die Leute verwirren. Reguläre Ausdrücke sind im Vergleich zu allen menschlichen / gesprochenen Sprachen unglaublich einfach.
Peter Boughton

2
Tools wie Regex Buddy schreiben keine regulären Ausdrücke für Sie, sodass der Benutzer diese noch lernen muss. Aber es hilft, sie zu schreiben, besonders dann werden Ausdrücke ziemlich groß.
Pawka

@ Peter: Ich gebe zu, dass die Rechtschreibung schwieriger sein kann (für manche Leute, manche Arten von Lernenden). Lerne es trotzdem. Software gibt Ihnen ohnehin nur ein falsches Sicherheitsgefühl. Software kann überhaupt nicht gut buchstabieren.
Telemachus

1
Auch wenn Sie keine Hilfe benötigen, kann dies hilfreich sein. Ich kenne reguläre Ausdrücke recht gut, benutze aber trotzdem gerne einen grafischen Editor, wenn mir einer zur Verfügung steht.
David Z

7

Ich benutze Kiki , es ist einfach, aber macht den Job.

In Python geschrieben und es gibt ein Ubuntu-Paket mit dem Namen kiki.

Bildbeschreibung hier eingeben



2

MonoDevelop enthält ein leistungsstarkes Regex-Tool. Es enthält eine Bibliothek mit vom Benutzer eingereichten Regexen und einen Regex-Tester.

Der Regex-Validator ist System.Text.RegularExpressions.Regex.


1
Ich habe es gerade versucht - es ist schön. Aber ich werde keine andere IDE nur für reguläre Ausdrücke ausführen, während ich nicht Mono entwickle.
Pawka

Wahr. Zum Glück bin ich ein C # -Entwickler ... oh, warte ... du kannst andere Sprachen beherrschen, die in MonoDevelop überhaupt nicht mit dotNet zu tun haben. C und C ++ werden sehr gut unterstützt. Da kommt noch mehr. (Ruby, Delphi usw.).
Dykam






1

Es gibt ein Add-On für Firefox, das ich für meine nicht zu strengen Anforderungen als nützlich erachte.



0

Vim. Sucht und markiert dynamisch die erste Übereinstimmung für den regulären Ausdruck, während Sie ihn eingeben.

Ich benutze dies auch unter Windows, aus dem gleichen Grund.


1
Möglicherweise sind die regulären Ausdrücke von vim nicht ganz Standard. Insbesondere denke ich an +, das Sie mit einem Backslash versehen müssen, um als "ein oder mehrere" Matcher zu arbeiten. In regulären regulären Ausdrücken würde der Backslash dagegen bestehen.
Evan

Evans Argument ist richtig. Das Q gibt nicht den beabsichtigten Zweck des regulären Ausdrucks an. Ich finde es sehr einfach, einen regulären Ausdruck, der für mich in Vim funktioniert, in anderen Situationen anzuwenden. Es scheint ohnehin immer Unterschiede in den Escape- und anderen Syntaxdetails zwischen regulären Implementierungen zu geben.
Zac Thompson

0

Ich benutze normalerweise keine Werkzeuge dafür, aber Kregexpeditor scheint erwähnenswert zu sein. Es bietet alle Funktionen, die Sie erwarten, und die nächste Version unterstützt sogar Rückverweise.


0

Der einzige gute reguläre Ausdruck ist ein lex / yacc- regulärer Ausdruck. Verbringen Sie einige Zeit damit, Lex / Flex und Yacc / Bison oder ein ähnliches Parser-Toolkit zu lernen . Ich bin überzeugt, dass dies der richtige Weg ist, wenn Sie mit regulären Ausdrücken gute Arbeit leisten möchten!

Wenn Sie darauf bestehen, "normale" hässliche reguläre Ausdrücke zu verwenden, können Sie diese schlechter als mit Perl testen:

perl -pe 's/fo+o/bar/'
perl -ne 'print $1 if /(hell*o|world)/i/'
</etc/passwd perl -ne 'print if /bash|tcsh/'

Sie können auch GNU grep mit Farbe und erweiterten regulären Ausdrücken ausprobieren:

</etc/passwd grep --color -E 'bash|tcsh'
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.