Quantcast
Channel: Webworking
Viewing all articles
Browse latest Browse all 57

VerbalExpressions – intuitive reguläre Ausdrücke

$
0
0

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

Screenshot 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! ;)


Viewing all articles
Browse latest Browse all 57