Mehr Gieriges

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

Viele Probleme (und Vorteile), die sich aus dem gierigen Verhalten ergeben, betreffen NFAs und DFAs gleichermaßen. (DFAs sind immer gierig und kennen keine nicht-gierigen Konstrukte, daher haben wir uns bisher auf gieriges Verhalten konzentriert.) Ich möchte einiges dazu veranschaulichen, und ich tue dies am Beispiel eines NFA. Es betrifft zwar DFAs ebenso, aber aus anderen Gründen. DFAs sind gierig, Punkt – es gibt dazu nicht viel mehr zu sagen. Sie sind sehr beharrlich im Umgang, aber es ist sehr langweilig, darüber zu diskutieren. NFAs dagegen verhalten sich je nach der schöpferischen Gestaltung der Regex anders. Derjenige, der die Regex entwirft, hat die direkte Kontrolle darüber, wie eine Mustersuche ausgeführt wird. Das bringt viele Vorteile, es drohen aber auch ein paar Falltüren bezüglich der Effizienz einer Regex (Fragen der Effizienz werden unter Die Kunst, reguläre Ausdrücke zu schreiben behandelt).

Trotz dieser Unterschiede sind die Resultate eines Matchings meist gleich. Auf den nächsten Seiten geht es um beide Maschinentypen, ich beschreibe die Dinge aber aus dem Blickwinkel einer NFA. Am Ende des Kapitels haben Sie eine klare Vorstellung davon, wann und warum genau sich manchmal Unterschiede ergeben.

  

  

<< 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