VerbalExpressions – intuitive reguläre Ausdrücke

Man versucht es zwar immer, aber um Regular Expressions kommt man in der Regel nicht herum. Grund ist, das Such-Phrasen viel zu komplex sein können, um sie mit einer Programmiersprache sinnvoll finden zu können. Vor einiger Zeit sah ich mich sogar dazu genötigt ein entsprechendes Tutorial zu schreiben. Inzwischen findet ihr in der Cloud viele Webapps, die euch das Leben rund um reguläre Ausdrücke erleichtern:

Der RegExp Playground

Einfach und schnell reguläre Ausdrücke Testen und überprüfen

Der RegExp Playground ist eine sehr feine Sache wenn man mal eben schnell einen regulären Ausdruck gegen einen String testen möchte. Änderungen an dem Ausdruck werden fein visualisiert und man kann schnell zu einem Ergebnis kommen. Vor allem beim Lernen von regulären Ausdrücken ist die App eine gute Hilfe. Es gibt auch ein entsprechendes YouTube-Video von Lea Verou, wo Regular Expressions erklärt werden, und das Tool eingesetzt wird.

VerbalExpressions

Viel interessanter sind an der Stelle allerdings die VerbalExpressions, einem Projekt aus der Node.js Welt, für die es auch einen Port für PHP gibt. Das Projekt versucht durch intuitive Sprachmuster in Strings zu suchen, bzw. diese zu erkennen. Nimmt man als Beispiel eine URL, dann sähe die dazugehörige VerbalExpression in PHP wie folgt aus:

$regex = new VerbalExpressions;
 
$regex  ->startOfLine()
        ->then("http")
        ->maybe("s")
        ->then("://")
        ->maybe("www.")
        ->anythingBut(" ")
        ->endOfLine();

Sieht zur Abwechslung doch mal ganz verständlich aus, oder? Der eigentliche Test ob ein String in den Pattern passt ist auch recht einfach:

if($regex->test("http://github.com"))
    echo "valid url";
else
    echo "invalid url";

Sagen wir mal so: da das Tool vernünftig funktioniert, ist es in manchen Projekten auch vernünftig einzusetzen, denn es gibt in jedem Team diesen einen Regex-Nerd der es schafft Patterns so zu schreiben, das niemand weiß was sie tun ;) Werft einfach mal ein Blick auf die beiden Ressourcen, ich bin mir ziemlich sicher sie landen sehr schnell in euren Bookmarks! ;)

Ähnliche Beiträge

Tutorial Regular Expressions: Nach einem beliebige... Wir können jetzt mittels Regular Expressions nach Zeichen in einer Zeichenkette suchen, das macht aber aus Geschwindigkeitsgründen in der Regel keinen...
Tutorial Regular Expressions: Wiederholungen In den bisherigen Teilen des Tutorials haben wir Elemente immer so gesucht, das sie an einer bestimmten Stelle vorkommen mussten. Dies ist eher selten...
Tutorial Regular Expressions: Nach Zeichen suchen Die einfachste Suche mittels Regular Expressions ist die Suche nach einer Zeichenkette, wie sie zum Beispiel vom PHP-Befehl strpos her bekannt ist. Tr...
Tutorial Regular Expressions – eine Einführung Es wird mal wieder an der Zeit eine neue Tutorial-Reihe zu starten und was empfiehlt sich da besser als reguläre Ausdrücke (Regular Expressions) - dem...

2 Antworten auf „VerbalExpressions – intuitive reguläre Ausdrücke“

  1. Ich benutze schon seit vielen Jahren das Windows-Programm RegExBuddy (http://www.regexbuddy.com). Die 30 Euro haben sich voll gelohnt. Man kann sich die Regulären Ausdrücke nach verschiedenen Kriterien zusammenklicken, aber auch bestehende Ausdrücke importieren und weiter bearbeiten. Und das Gute ist, dass das Programm die Regulären Ausdrücke bei Bedarf für verschiedene Web-Sprachen ausspuckt, sodass man sie dann nur noch kopieren und in den Quelltext seines Programms (PHP, JavaScript oder was immer) einzugeben braucht.

  2. Finde ich klasse.
    Mit VerbalExpressions können sich auch Anfänger ein Pattern zusammenschustern und danach mit der Methode „getRegex“ das Ergebnis ausgeben lassen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.