www.PHP-Crawler.de Translate into English Traduire cette page PHP-Crawler - Home PHP-Crawler - Home
   


  Home
    Hier geht´s zurück zur Startseite von PHP-Crawler.de

  Tutorial eintragen
    Hier könnt Ihr euer eigenes Tutorial eintragen.

  Tutorials
    Hier geht´s zurück zur Übersicht der Tutorials.

     Partnerseiten
     PHPWelt
     PHP Resource
     phpforum.de
     admin-wissen.de
     Belauscht.de
     www.z-online.de

   

  
Sponsoren
   Reifen - Bei uns können Sie Reifen besonders billig bestellen.
Hotel buchen - Hotelreservierung bei ehotel.de - Hotels weltweit.
Leuchten - Die schönsten Leuchten einfach online kaufen - im Lichtkaufhaus!!
Kindergeburtstag - Erfahren Sie wie ein Kindergeburtstag ein toller Erfolg wird.

 
PHP Crawler Tutorials
Nützliche Tutorials für euch zum lesen...


Willkommen bei dem Tutorialabschnitt von PHP-Crawler

Zurück zur Übersicht

Daten des Autors
Titel: Reguläre Ausdrücke
Autor: Kristian Köhntopp
Kategorie: PHP
Verfasst am: 16.06.2006
Beschreibung: Was sind eigentlich reg. Ausdrücke?

Tutorial:
Reguläre Ausdrücke sind Suchmuster, die sich auf Strings anwenden lassen und für die entscheidbar ist, ob sie auf den String passen (match) oder nicht passen. So paßt das Suchmuster ei auf den String Weichei, weil darin die Zeichenfolge ei enthalten ist, aber nicht auf den String Warmduscher. Wendet man ein Suchmuster auf eine Menge von Strings an, dann bekommt man zwei Teilmengen, nämlich die Menge aller Strings, auf die das Muster paßt und die Menge aller Strings, auf die das Muster nicht paßt. Meistens interessiert man sich für eine der beiden Teilmengen ("Finde alle Namen, die mit einem einem A beginnen.", "Finde alle Zeichen, die nicht rechts von einem Kommentarzeichen stehen."

Reguläre Ausdrücke werden meistens durch einen endlichen Automaten realisiert. Die Informatik kennt Verfahren, mit denen man automatisch einen Automaten generieren kann, der für ein bestimmtes Suchmuster entscheidet, ob es auf einen String paßt oder nicht. Auch die regulären Ausdrücke in PHP funktionieren so: Bei der ersten Benutzung eines regulären Ausdruckes wird ein solcher Automat intern generiert (das Muster wird "compiliert" und dann angewendet. Bei späteren Benutzungen desselben Suchmusters kann dieser Automat dann unter Umständen wieder verwendet werden, was deutlich schneller ist.

Einige Suchmuster und Bedingungen sind zu komplex, als dass man sie mit Hilfe von regulären Ausdrücken und Automaten formulieren kann. Typische Beispiele dafür sind Dinge, die Abzählungen erforderlich machen ("Finde alle Worte, die aus genausovielen b's bestehen, wie sie a's enthalten" und Dinge, die Vorbedingungen notwendig machen ("Finde alle Worte print, aber nur, wenn sie nicht in Anführungszeichen stehen oder Bestandteil eines Kommentares sind.". In diesem Fällen braucht man leistungsfähigere Konzepte und Werkzeuge, kontextfreie oder kontextsensitive Grammatiken und dazu passende Parser.

In der Praxis verwendet man reguläre Ausdrücke, um zu entscheiden, ob ein String bestimmten formalen Kritierien genügt ("Akzeptiere den Formularwert nur dann, wenn er ausschließlichlich Ziffern enthält." oder um bestimmte Teilstücke aus Strings herauszuschneiden ("Liefere mit den Text zwischen dem begin und end aus dem gegebenen String.".