Reguläre Ausdrücke - Tutorial Teil 1: Grundlagen

 

0 Kommentare | Kommentar schreiben | Bewerten | Artikel melden

 

Typ

Tutorial für Anfänger

Kategorie

Tools & Nützliches

Sprache

Deutsch

Autor

Stefan Trost Media

Eintrag

11.07.2011

Bewertungen

71

Views

4674
 
 


Über den Autor

Stefan Trost ist Entwickler von Software und Weblösungen. Gerne programmiert er auch individuelle Programme oder Internetseiten für Sie. Kontakt

Profil von Stefan Trost Media
Artikel von Stefan Trost Media

In diesem Tutorial kümmern wir uns um reguläre Ausdrücke. Im ersten Teil geht es zunächst um einige Grundlagen, die weiteren Teile (siehe unten) bauen dann darauf auf und erklären immer mehr Facetten dieses umfangreichen Themas. Aber was sind reguläre Ausdrücke überhaupt und wofür können wir sie gebrauchen?

Was sind reguläre Ausdrücke und wofür benötigen wir sie?

Reguläre Ausdrücke sind im Grunde genommen eine Möglichkeit einen Text zu beschreiben. Wenn wir einen Text durch einen anderen ersetzen möchten, dann ist dies recht einfach solange wir das Wort, nach dem wir suchen genau kennen. Zum Beispiel, wenn wir das Wort "wort1" durch das Wort "wort2" ersetzen möchten.

Was aber machen wir, wenn es mehrere Schreibweisen eines Wortes gibt? Hier könnten wir sicher noch alle Varianten einzeln eingeben und ersetzen, aber schieriger wird es wenn wir in einem Text alle E-Mail Adressen durch eine andere ersetzen möchten, ganz gleich um welche Adresse es sich handelt. Hier können wir nicht mehr alle denkbaren Kombinationen an Buchstaben und Internetadressen suchen, denn das wären einfach zu viele. Schön wäre es also dem Computer beschreiben zu können, wie eine E-Mail Adresse aussieht, dass er weiß, wonach er suchen soll.

Und genau hier kommen die regulären Ausdrücke zum Einsatz. Reguläre Ausdrücke bieten die Möglichkeit Texte zu beschreiben, die einem bestimmten Muster entsprechen. Wir könnten einen regulären Ausdruck konstruieren, der folgendes beschreibt: Erst kommen Buchstaben oder Zahlen, dann ein @-Zeichen und anschleßend eine Internetadresse. Und schon könnten wir mit diesem Suchmuster jede beliebige Mail Adresse aufdecken und ersetzen. Wie das genau funktioniert erfahren Sie später in diesem Tutorial.

Neben dem Suchen und Ersetzen in Texten ergeben sich viele andere Einsatzgebiete für reguläre Ausdrücke. Beispielsweise kann man damit auch Teile eines Textes nach bestimmten Mustern umschreiben oder auch in htaccess Dateien finden reguläre Ausdrücke eine Anwendung. Wenn man htaccess Dateien auf seiner Homepage einsetzt kann man damit zum Beispiel Anfragen umleiten oder umschreiben die einem bestimmten Muster entsprechen. Diese und viele andere weitere Bereiche gibt es, in denen reguläre Ausdrücke das Leben erleichtern können.

Verwendetes Programm

Um direkt zu sehen, wie die in diesem Tutorial beschriebenen regulären Ausdrücke arbeiten und um ein bisschen mit regulären Ausdrücken herum spielen zu können, können Sie das Programm Text Konverter benutzen. Ziehen Sie eine beliebige Textdatei (Dateiendung TXT) in das Programm und gehen Sie auf der rechten Seite in den Aktionen auf "Text ersetzen". Hier gibt es eine Suchen-Box und eine Ersetzen-Box. Darunter lassen sich für beide Boxen getrennt voneinander reguläre Ausdrücke aktivieren oder deaktivieren.

Die hier vorgestellten regulären Ausdrücke können Sie einfach in die Suchen-Box schreiben und schauen, welche Teile Ihrer Textdatei darauf wie reagieren. Sie sehen die Änderungen sofort nach Ihrer Eingabe in der Vorschau unten links im Hauptfenster des Programms. Das Tutorial lässt sich aber auch nachvollziehen ohne das Programm zu benutzen.

Der Text Konverter ist ein umfangreiches und leistungsstarkes Programm, mit dem Sie mehrere Textdateien gleichzeitig in verschiedensten Formen bearbeiten können. Das Programm ist in einer kostenlosen Basic Version und in einer Pro Version mit erweitertem Funktionsumfang erhältlich. Um die regulären Ausdrücke über die Vorschaufunktion des Text Konverters auszuprobieren (ohne dabei die veränderten Texte abspeichern zu müssen) ist die kostenlose Basic Version vollkommen ausreichend.

Ein erstes Beispiel

Nun aber genug der Vorrede. Wir wollen uns ein erstes Beispiel ansehen. Wir haben bereits gesagt, dass reguläre Ausdrücke Zeichenketten beschreiben können. Eines der wichtigsten Zeichen in regulären Ausdrücken ist der Punkt. Der Punkt kann für jedes andere beliebige Zeichen stehen.

Beispiel 1                      

Suchen nach:      .          Originaltext:         abc def 123

Ersetzen durch:   x          Nach der Ersetzung:   xxxxxxxxxxx

 

Beispiel 2

Suchen nach:      .+         Originaltext:         abc def 123

Ersetzen durch:   x          Nach der Ersetzung:   x

 

Beispiel 3

Suchen nach:      .*         Originaltext:         abc def 123

Ersetzen durch:   x          Nach der Ersetzung:   xx

Geben Sie im Text Konverter einfach bei der Aktion "Text ersetzen" im Suchen-Feld einen Punkt an und aktivieren Sie darunter die regulären Ausdrücke. Danach schreiben Sie in das Ersetzen-Feld ein x. Damit ersetzen wir alle Zeichen, die auf das Suchmuster "." zutreffen mit einem x. Das Ergebnis ist das folgende: Jeder Buchstabe der Datei trifft auf den Punkt zu. Jeder Buchstabe wird also mit einem x ersetzt und wir erhalten eine Datei, die an jeder Stelle, wo vorher ein Buchstabe stand, ein x stehen hat.

Anders verhält es sich im zweiten Beispiel. Nun ändern wir das erste Beispiel ab, indem wir ein + hinter den Punkt setzen. Auch das Plus ist ein so genanntes Metazeichen und hat eine besondere Bedeutung im Reich der regulären Ausdrücke. Es bezieht sich auf das Zeichen das vor dem Punkt steht und bedeutet: Das Zeichen vor mir muss mindestens einmal vorkommen, kann aber auch mehrfach vorkommen. Ein beliebiges Zeichen kann beliebig oft vorkommen. Entdeckt wird im Beispiel 2 also die gesamte Zeichenkette "abc def 123" und diese gesamte Zeichenkette wird durch ein x ersetzt. Im Ergebnis steht nur noch ein x.

Ebenso interessant ist das Sternchen *. Dieses bedeutet, dass das voranstehende Zeichen beliebig oft - also auch keinmal - vorkommen kann. Im Beispiel 3 wird also einmal die gesamte Zeichenkette "abc def 123" entdeckt und durch ein x ersetzt und dann wird noch einmal "kein Zeichen" durch x ersetzt, es ergibt sich die neue Zeichenkette "xx".

Zusammenfassung

  • Reguläre Ausdrücke können Zeichenketten beschreiben. Damit lassen sich viele Aufgaben vereinfachen.
  • Der Punkt . kann für jedes beliebige Zeichen stehen
  • Das Plus + bedeutet: Das Zeichen vor dem Plus muss mindestens einmal und kann auch mehrfach vorkommen
  • Das Sternchen * bedeutet: Das voranstehende Zeichen kann beliebig oft (auch keinmal) vorkommen

Lesen Sie weiter

 

© Stefan Trost - Die Verwendung dieses Tutorials, auch in Auszügen, ist nur nach vorheriger Genehmigung von Stefan Trost erlaubt. Sie können das Tutorial aber gerne verlinken.

 
  
 

Kommentare

Sind Sie der selben Meinung wie der Autor oder wollen Sie etwas ergänzen? Hier können Sie einen Kommentar hinterlassen.

Kommentar schreiben

Sie können zu diesem Artikel einen anonymen Kommentar hinterlassen. Möchten Sie unter Ihrem Namen schreiben, loggen Sie sich ein oder registrieren Sie sich.



Bisherige Kommentare

Zu diesem Artikel wurden bislang noch keine Kommentare abgegeben.