
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üfenDer 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:
Sieht zur Abwechslung doch mal ganz verständlich aus, oder? Der eigentliche Test ob ein String in den Pattern passt ist auch recht einfach:
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! ;)
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.
Finde ich klasse.
Mit VerbalExpressions können sich auch Anfänger ein Pattern zusammenschustern und danach mit der Methode „getRegex“ das Ergebnis ausgeben lassen.