Reguläre Ausdrücke
Wer sich mit der Suche nach Texten beschäftigt, stolpert früher oder später über Reguläre Ausdrücke. Dabei handelt es sich um Suchmuster. Die bestehen aus den gesuchten Zeichen und Platzhaltern. Die Platzhalter wiederum stehen für ein oder mehrere bestimmte Zeichen. Aus der Arbeit mit Linux kennen Sie wahrscheinlich schon den sehr einfachen Platzhalter *, der für eines oder mehrere beliebige Zeichen steht. Mit
ls a*
zum Beispiel zeigt Linux alle Dateien im aktuellen Verzeichnis, die mit einem a anfangen.
Die Platzhalter bei den Regulären Ausdrücken sind etwas komplizierter. Wie sie funktionieren, lässt sich am besten anhand von Grep zeigen:
Angenommen, Sie möchten in Dateien nach den Namen Meier, Meyer, Maier und Mayer suchen. Dann könnten Sie vier Suchanfragen starten. Oder Sie verwenden einen Regulären Ausdruck wie den folgenden:
grep -E "M[ae][iy]er" *
Die in den eckigen Klammern eingeschlossenen Buchstaben sind Platzhalter für ein Zeichen. Die Buchstaben in den Klammern gelten alternativ. An zweiter Stelle des Namens darf also ein a oder ein e stehen. An dritter Stelle ein i oder ein y.
Was aber, wenn Sie auch noch "Meir", "Mair" oder "Meyr" finden wollen? Kein Problem. Ein gut platziertes Fragezeichen hilft:
grep -E "M[ae][iy]e?r" *
Das Fragezeichen bedeutet: das davor stehende Zeichen darf 0-mal oder einmal vorkommen.
Neben diesen einfachen Mustern gibt es noch eine Menge weiterer Möglichkeiten. Zum Beispiel können Sie auch mehrere Zeichenketten auf einmal suchen:
grep -E "Mayer|Huber" *
findet alle Einträge, die entweder Mayer oder Huber enthalten.
Richtig kombiniert finden Sie mit Regulären Ausdrücken alles, was Sie in Texten suchen möchten. Allerdings ist ein wenig Einarbeitung notwendig. Ein gutes Werkzeug, um Reguläre Ausdrücke zu erlernen ist der "Regex Coach". Dieses gratis unter http://weitz.de/regex-coach/ erhältliche Programm erlaubt Ihnen, Reguläre Ausdrücke einzugeben und zeigt sofort auf welche Teile eines Textes die Muster passen.




