Vor einigen Wochen stolperten wir während einer Vorlesung über das Problem, ein schnelles und einfaches Testwerkzeug für reguläre Ausdrücke unter Linux zu finden. Schnell wurde uns klar, dass man einen solchen Dienst sehr gut als Webanwendung realisieren könnte. Als wir uns dann im Zuge einer anderen Vorlesung mit einem Javascriptprojekt beschäftigen sollten, war „Reghex“ geboren…
Der Name Reghex
Der Name des Tools war eine recht spontane Idee: Ein einfaches Wortspiel aus Regular Expressions bzw. Regex und einer Hexe (die Anwendung ist schließlich zauberhaft gut) formte zunächst die Reghexe, was sich dann später noch auf Reghex verkürzte. Wir haben sogar verschiedene Schreibweisen zu bieten: Die Seite selbst spricht von „reg[h]?ex“, im Code heißt es „RegHex“. Um es nicht so eindeutig zu lassen, habe ich mich hier für das typografisch korrekte Reghex entschieden.
Reguläre Ausdrücke testen
Bei Reghex kann man einen regulären Ausdruck und einen oder mehrere Teststrings eingeben. In Echtzeit prüft die Anwendung nun, ob der reguläre Ausdruck auf die Teststrings passt. Diese werden entsprechend farbig unterlegt: Rot passt nicht, grün wird durch den Ausdrück abgedeckt.
Für die Ausdrücke lassen sich die üblichen Optionen wie „i“ für die Beachtung von Groß- und Kleinschreibung oder „m“ für mehrzeilige Tests einfach über eine Liste auswählen.
Reguläre Ausdrücke für Javascript, PHP und Java
Ein besonderes Highlight ist die Umschaltbarkeit des Regex-Parsers. Neben regulären Ausdrücken, wie sie in Javascript verwendet werden, unterstützt die Anwendung auch die Dialekte, die in PHP und Java zur Verfügung stehen. Weitere Sprachunterstützungen sind hierbei einfach zu realisieren und auch geplant.
Open Source und fast nur Javascript
Die Webanwendung braucht fast nur Javascript, um ihren Dienst zu verrichten. Lediglich für die Dialekte von PHP oder Java wird der Server mittels Ajax bemüht. Hierbei wird eine PHP-Schnittstelle genutzt, welche die Anfrage an ein Programm der entsprechenden Sprache weiterleitet und das Ergebnis im JSON-Format zurück schickt.
Das Projekt mitsamt Quellcode liegt bei Github und kann somit von jedermann eingesehen und genutzt werden. Zwar ist die Entwicklung noch nicht abgeschlossen, generell sollte das Tool aber nutzbar sein.
Das ist echt ein cooles Projekt. Wenn wir das jetzt noch schnell fertig machen und die letzten kleineren Fehler beheben, wird das richtig gut.
Mir fällt vor allem immer auf wie schnell das geht. Kein PHP-Schnickschnack vor dem Ausliefern der Seite, ist echt krass. So solls sein. Jupp, fehlt nur noch der Feinschliff. Und den müssen wir ja nicht einmal alleine machen.