News Ticker

Reguläre Ausdrücke 13: Einige Beispiele

Reguläre Ausdrücke sind wie Programmiersprachen bzw. Sprachen an sich. Es nützt nichts sie einmal auswendig zu lernen und dann zu vergessen. Man muss das Prinzip dahinter verstehen und sie regelmäßig anwenden. Der größte Fehler ist es richtig zu lernen und die Chancen des Einsatzes nicht zu erkennen. Dieser Artikel soll eine kleine Zusammenfassung mit einigen Tipps und Beispielen darstellen.

Wie schon erwähnt, muss man das Prinzip hinter den regulären Ausdrücken verstehen um sie richtig anwenden zu können. Es geht darum Tipparbeit und monotone Aufgaben zu ersetzen. Solche monotonen Arbeiten zu erkennen ist nicht immer einfach. Grundsätzlich kann man sich fragen, ob es nicht einfacher wäre einen regulären Ausdruck zu schreiben als z.B. 30 Zeilen manuell zu ersetzen. Ersetzen und Suchen sind die wichtigsten Ziele regulärer Ausdrücke.

Beispiel für einfache reguläre Ausdrücke zu finden, ist nicht schwierig. Jedoch wisst ihr am besten selbst wonach ihr sucht. 😉 Trotzdem kommen ein paar nützliche Listings. ^[0-9]{5}$ sucht nach Postleitzahlen auf einer einzigen Linie. Wer aber lieber nur einen Großteil Baden-Württembergs abgrasen möchte, kann den Ausdruck etwas modifizieren. ^7[0-9]{4}$ ist z.B. solch eine Lösung. e-Mail-Adressen kann man z.B. mit [a-zA-Z0-9_-\.]+@[a-zA-Z0-9\.]+[a-zA-Z]{2,4} suchen. Auch hier kann man natürlich den Ausdruck sehr spezialisieren. Die zwei genannten Beispiele sollen zudem keine Lehrbuchlösung sein, sondern nur aufzeigen, dass es nicht so schwierig ist etwas komplexere Ausdrücke zu erstellen als oft angenommen. Sie sollen anregen selbst auszuprobieren.

Für euch, die da wirklich noch mehr wissen wollen, gibt es viele Programme, die das Anwenden regulärer Ausdrücke in den reinsten Nervenkitzel verwandeln. sed ist so ein Programm. Auf der Seite des Tools (welches auf den meisten Linux-Rechner per def. installiert ist) werden einige so genannte one-liners (dt. Einzeiler) aufgelistet. Das sind einzeilige Kommandos, die oft benötigte Aufgaben erledigen können – z.B. leere Zeilen nach bestimmten Wörtern einfügen, doppelte Leerzeichen löschen etc.

Es bleibt nur noch viel Spaß zu wünschen und darauf hinzuweisen, dass ihr immer Fragen stellen könnt sofern etwas unklar sein sollte.