Book description
Regulaere Ausdruecke sind ein leistungsstarkes Mittel zur Verarbeitung von Texten und Daten. Wenn Sie regulaere Ausdruecke noch nicht kennen, wird Ihnen dieses Buch eine ganz neue Welt er ffnen. Aufgrund der ausgesprochen detaillierten und tiefgruendigen Behandlung des Themas ist dieses Buch aber auch fuer Experten eine wahre Trouvaille.
Die neue Auflage dieses anerkannten Standardwerks behandelt jetzt auch die Unterstuetzung regulaerer Ausdruecke in PHP sowie Suns java.util.regex. Der klare und unterhaltsame Stil des Buchs hat schon Tausenden von Programmierern das an sich trockene Thema naehergebracht, und mit den vielen Beispielen zu Problemen aus dem Programmieralltag ist Regulaere Ausdruecke eine praktische Hilfe bei der taeglichen Arbeit.
Regulaere Ausdruecke sind ueberall
Sie sind standardmaessig in Perl, PHP, Java, Python, Ruby, MySQL, VB.NET und C# (und allen Sprachen des .NET-Frameworks) sowie anderen Programmiersprachen und Werkzeugen eingebaut. Dieses Buch geht detailliert auf die Unterschiede und Gemeinsamkeiten bei der Behandlung regulaerer Ausdruecke in diesen Sprachen und Werkzeugen ein. Besonders ausfuehrlich werden die Regex-Features von Perl, Java, PHP und .NET behandelt.
Regulaere Ausdruecke sind maechtig
Regulaere Ausdruecke sind sehr leistungsf hig und flexibel. Dennoch bleibt ihre Anwendung oft unter ihren Moeglichkeiten. Mit regulaeren Ausdruecken koennen Sie komplexe und subtile Textbearbeitungsprobleme loesen, von denen Sie vielleicht nie vermutet haetten, dass sie sich automatisieren lassen. Regulaere Ausdruecke ersparen Ihnen Arbeit und Aerger, und viele Probleme lassen sich mit ihnen auf elegante Weise loesen.
Regulaere Ausdruecke sind anspru chsvoll
Was in der Hand von Experten eine sehr nuetzliche Faehigkeit ist, kann sich als Stolperstein fuer Ungeuebte herausstellen. Dieses Buch zeigt einen Weg durch das unwaegbare Gebiet und hilft Ihnen, selbst Experte zu werden. Wenn Sie die regulaeren Ausdruecke beherrschen, werden sie zu einem unverzichtbaren Teil Ihres Werkzeugkastens. Sie werden sich fragen, wie Sie je ohne sie arbeiten konnten.
Table of contents
-
Reguläre Ausdrücke
- Vorwort von Jeffrey Friedl zur deutschen Übersetzung der 1. Auflage
- Vorwort
-
1. Einführung in reguläre Ausdrücke
- Probleme aus der Praxis lösen
- Reguläre Ausdrücke als Programmiersprache
- Reguläre Ausdrücke als Denkweise
- Metazeichen bei egrep
- Erweiterung der Fundamente
- Persönliche Einsprengsel
-
2. Erweiterte einführende Beispiele
- Zu den Beispielen
- Mustererkennung mit regulären Ausdrücken
- Mit regulären Ausdrücken Text verändern
-
3. Features und Dialekte
- In diesem Kapitel
- Ein Spaziergang durch die Welt der regulären Ausdrücke
- Wartung und Pflege von regulären Ausdrücken
- Strings, Zeichencodierungen und Modi
-
Übliche Metazeichen
- Zeichendarstellung
- Zeichenklassen und ähnliche Konstrukte
- Anker und andere »Zusicherungen der Länge null«
- Kommentare und Modus-Modifikatoren
- Gruppierende und einfangende Klammern, logische und gierige Konstrukte
- Führer durch die Kapitel für Fortgeschrittene
-
4. Wie Regex-Maschinen arbeiten
- Motor anlassen!
- Grundlegendes zum Vorgang der Mustersuche
- Regex-gesteuerte und textgesteuerte Maschinen
- Backtracking
-
Mehr Gieriges
- Probleme durch gieriges Verhalten
- Mehrbuchstabige »Anführungszeichen«
- Nicht-gierige Quantoren
- Gierig oder genügsam – der Treffer geht vor
- Gier, Genügsamkeit, Backtracking: Die Essenz
- Possessive Quantoren und atomare Gruppen
- Backtracking bei Lookaround
- Ist die Alternation gierig?
- Ausnutzen der geordneten Alternation
- NFA, DFA und POSIX
- Zusammenfassung
-
5. Regex-Methoden aus der Praxis
- Die ausgewogene Regex
- Einige kleine Beispiele
- Beispiele zu HTML
- Ausführliche Beispiele
-
6. Die Kunst, reguläre Ausdrücke zu schreiben
- Vergleiche und Backtrackings
- Ein ernüchterndes Beispiel
- Backtracking global betrachtet
- Benchmarking
-
Übliche Optimierungen
- Umsonst gibt's nichts!
- Jeder macht's ein bisschen anders
- Wie ein regulärer Ausdruck angewendet wird
- Optimierungen vor der eigentlichen Suche
- Optimierungen mit dem Getriebe
-
Optimierungen der Regex-Maschine
- Verketten von Literalen
- Optimierung »Einfache Quantoren«
- Entfernen von unnötigen Klammern
- Entfernen von unnötigen Zeichenklassen
- Das Zeichen nach einem nicht-gierigen Quantor
- Erkennung von »übermäßigem« Backtracking
- Vermeidung von exponentiellem (super-linearem) Verhalten
- Löschen von unnötigen abgespeicherten Zuständen mit possessiven Quantoren
- Kleine Quantoren
- Welche Resultate der Mustersuche werden tatsächlich gebraucht?
- Programmiermethoden für schnellere Ausdrücke
-
Die Schleife aufbrechen
- Methode 1: Eine Regex anhand früherer Erfahrungen aufbauen
- Ein Rezept zum Aufbrechen von Schleifen
- Methode 2: Die kritische Schleife im größeren Zusammenhang betrachten
- Methode 3: Ein Internet-Hostname in Anführungszeichen
- Beobachtungen
- Atomare Gruppen und possessive Quantoren verwenden
- Beispiele zum Aufbrechen von Schleifen
- C-Kommentare aufbrechen
- Die frei fließlende Regex
- Denken!
-
7. Perl
- In diesem Kapitel
- Reguläre Ausdrücke als Teil der Programmiersprache
- Perls Regex-Dialekt
- Perliges über reguläre Ausdrücke
- Der qr/.../-Operator und Regex-Objekte
-
Der Match-Operator
- Der Regex-Operand
- Der Suchtext-Operand
-
Verschiedene Einsatzmöglichkeiten des Match-Operators
- »Passt das?« – Skalarer Kontext ohne /g
- Daten aus dem Suchstring herauspflücken – Listenkontext ohne /g
- Alle Treffer herauspflücken – Listenkontext mit dem /g-Modifikator
- Die »aktuelle Position« und die pos()-Funktion
- Aktuelle Position im String mit poss etzen
- Gebrauch von \G
- Jedes Text-Element einzeln erkennen mit /gc
- Zusammenfassung: pos() und verwandte Bereiche
- Beziehungen des Match-Operators zum Umfeld
- Der Substitutionsoperator
- Der Split-Operator
- Verrückte Dinge mit den Regex-Erweiterungen in Perl
-
Effizienz in Perl
- »There's More Than One Way To Do It«
-
Regex-Kompilierung, der /o-Modifikator, qr/.../ und Effizienz
- Interne Vorgänge beim Vorbereiten einer Regex
- Wie Perl Regex-Kompilierungen vermeidet
- Der /o-Modifikator: »Nur einmal kompilieren«
- Regex-Objekte zur Effizienzsteigerung
- Gebrauch der voreingestellten Regex zur Effizienzsteigerung
- Die Kopie des Suchstrings wird für $1, $&, $', $+ ...benötigt
- Die Kopie des Suchstrings wird nicht immer benötigt
- Wie teuer ist die Kopie des Suchstrings?
- Kopieren des Suchstrings vermeiden
- Die Funktion Study
- Benchmarks
- Debugging-Informationen zu regulären Ausdrücken
- Abschließende Betrachtungen
-
8. Java
- In diesem Kapitel
- Der Regex-Dialekt von Java
- Verwendung von java.util.regex
- Die Factory-Methode Pattern.compile
- Das Matcher-Objekt
- Weitere protect Pattern-Methoden
- Weitere Programmbeispiele
- Unterschiede zwischen den Java-Versionen
- 9. .NET
- 10. PHP
- Über den Übersetzer
- Kolophon
Product information
- Title: Reguläre Ausdrücke, 3rd Edition
- Author(s):
- Release date: October 2012
- Publisher(s): O'Reilly Verlag
- ISBN: 97833897217201
You might also like
book
Langlebige Software-Architekturen, 3rd Edition
Die Autorin beschreibt, welche Fehler in Softwareprojekten bei der Umsetzung der Architektur vermieden werden sollten und …
book
Basiswissen für Softwarearchitekten, 4th Edition
Softwarearchitektur bildet einen wesentlichen Erfolgsfaktor für Softwareprojekte. Sie stellt im Sinne einer systematischen Konstruktion sicher, dass …
book
Dokumenten-Management, 6th Edition
In diesem Kompendium wird das Dokumenten-Management (DM) umfassend dargestellt. Fragen der Projektplanung und Einführung von DM-Lösungen …
book
IT-Unternehmensarchitektur, 3rd Edition
Dieses Buch stellt die Sicht eines IT-Verantwortlichen auf die Herausforderungen dar, vor denen die IT-Funktion eines …