Probleme aus der Praxis lösen

(Auszug aus "Reguläre Ausdrücke" von Jeffrey E. F. Friedl)

Wenn Sie mit regulären Ausdrücken umgehen können, stehen Ihnen Lösungsmöglichkeiten offen, die Sie vordem vielleicht gar nicht erahnen konnten. Ich benutze reguläre Ausdrücke jeden Tag mehrfach, um kleine und größere Probleme zu lösen (und oft sind es kleine Probleme, die ohne das Instrument der regulären Ausdrücke zu großen Problemen würden).

Bei einem Beispiel, bei dem die regulären Ausdrücke der Schlüssel zur Lösung eines großen und wichtigen Problems sind, ist der Gewinn offensichtlich. Nicht so offensichtlich ist die Art, wie man mit regulären Ausdrücken viele kleine »uninteressante« Probleme angeht. Mit »uninteressanten« Problemen meine ich solche, deren Lösung sich nicht zum Erzählen von tollen Anekdoten eignet, die aber das Weiterarbeiten unmöglich machen, bis sie gelöst sind. Für mich ist das Einsparen einer Stunde stupider, repetitiver Arbeit schon irgendwie aufregend und damit interessant.

Ein einfaches Beispiel: Bei einer Anzahl von Dateien (genauer: bei den etwa 70 Dateien, aus denen dieses Buch entstand) musste überprüft werden, ob der String ›SetSize‹ genauso oft (oder genauso selten) vorkommt wie ›ResetSize‹. Die Groß- und Kleinschreibung war dabei irrelevant (also zählt ›setSIZE‹ genauso wie ›SetSize‹). 32 000 Zeilen von Hand durchzukämmen kommt natürlich nicht in Frage. Auch die normale »Suche Wort«-Funktion eines Text-Editors ist bei der gegebenen Anzahl von Dateien viel zu umständlich.

Hier waren reguläre Ausdrücke die Helfer in der Not! Mit einer einzigen kurzen Befehlszeile konnte ich alle Dateien durchforsten und bestätigen, was ich überprüfen wollte. Zeitaufwand: vielleicht 15 Sekunden, um den Befehl zu tippen, und weitere 2 Sekunden für die tatsächliche Rechenzeit. Ha! (Wenn Sie an der Lösung interessiert sind, die ich benutzt habe, gehen Sie zur Seite Zu den Beispielen.)

Ein anderes Beispiel: Vor einiger Zeit half ich einem Freund bei einem Problem im Zusammenhang mit E-Mails auf einer Maschine, die nur über eine langsame Modemleitung zugänglich war. Ich sollte ihm ein Inhaltsverzeichnis aller Meldungen senden – und das waren sehr viele. Auch wenn es nicht so viele Meldungen gewesen wären, wäre das Zusammenstellen der Überschriften eine mühsame und monotone Arbeit gewesen. Außerdem hätte ich dabei den Text der Meldungen gesehen, der mich nun wirklich nichts angeht.

Wiederum bewährten sich reguläre Ausdrücke als Helfer in der Not! Mit einem simplen Befehl (ich benutzte das Suchwerkzeug egrep;) konnte ich die From:- und Subject:-Zeilen aus jeder Meldung extrahieren. Um egrep zu instruieren, welche Arten von Zeilen ich sehen wollte (und welche nicht), benutzte ich den regulären Ausdruck ˹^(From|Subject):˼.

Als mein Freund diese Liste hatte, fragte er mich nach einer bestimmten (5000 Zeilen langen!) Meldung. Auch hier wäre das Benutzen eines Editors oder eines E-Mail-Programms zum Herausfiltern dieser Meldung eher umständlich gewesen. Ich benutzte ein anderes Werkzeug (dieses Mal sed) und wieder einen regulären Ausdruck, der genau die gesuchte Meldung aus der großen Datei herausnahm. Auf diese Art konnte ich die gewünschte Meldung schnell und einfach abschicken.

Uns beiden Zeit und Mühsal zu sparen, war nicht besonders »interessant«, aber sicher interessanter, als mit einem Text-Editor eine Stunde Zeit zu verschwenden. Hätte ich nichts über reguläre Ausdrücke gewusst, wäre mir aber gar keine Alternative eingefallen. Die Geschichte zeigt, wie man mit regulären Ausdrücken arbeiten kann, um Dinge zu tun, die man sich sonst gar nicht ausdenken könnte.

Wenn Sie gelernt haben, mit regulären Ausdrücken umzugehen, werden Sie erkennen, wie wertvoll sie sind, und Sie werden sich fragen, wie Sie vordem ohne sie ausgekommen sind. (Anmerkung: Wenn Sie einen digitalen Videorecorder mit Festplatte haben, kennen Sie dieses Gefühl!)

Meisterschaft im Umgang mit regulären Ausdrücken ist eine kaum zu überschätzende Fertigkeit. Dieses Buch liefert die Informationen, um diese Fertigkeit zu erlangen, und ich hoffe, dass es auch die Motivation dafür liefert, dies zu tun.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema Reguläre Ausdrücke bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:
   

Copyright der deutschen Ausgabe © 2008 by O’Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "Reguläre Ausdrücke" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstr. 81, 50670 Köln