Create bookmark
Reguläre Ausdrücke Kochbuch
Detaillierte Lösungen für acht Programmiersprachen
Notes
Please login to add notes
- Inhalt
- + Vorwort
- + Kapitel 1 – Einführung in reguläre Ausdrücke
-
+
Kapitel 2 – Grundlagen regulärer Ausdrücke
- 2.1 Literalen Text finden
- 2.2 Nicht druckbare Zeichen finden
- 2.3 Ein oder mehrere Zeichen finden
- 2.4 Ein beliebiges Zeichen finden
- 2.5 Etwas am Anfang und/oder Ende einer Zeile finden
- 2.6 Ganze Wörter finden
- 2.7 Codepoints, Eigenschaften, Blöcke und Schriftsysteme bei Unicode
- 2.8 Eine von mehreren Alternativen finden
- 2.9 Gruppieren und Einfangen von Teilen des gefundenen Texts
- 2.10 Vorher gefundenen Text erneut finden
- 2.11 Teile des gefundenen Texts einfangen und benennen
- 2.12 Teile der Regex mehrfach wiederholen
- 2.13 Minimale oder maximale Wiederholung auswählen
- 2.14 Unnötiges Backtracking vermeiden
- 2.15 Aus dem Ruder laufende Wiederholungen verhindern
- 2.16 Etwas auf Übereinstimmung prüfen, ohne es dem Gesamtergebnis hinzuzufügen
- 2.17 Abhängig von einer Bedingung eine von zwei Alternativen finden
- 2.18 Kommentare für einen regulären Ausdruck
- 2.19 Literalen Text im Ersetzungstext nutzen
- 2.20 Einfügen des Suchergebnisses in den Ersetzungstext
- 2.21 Teile des gefundenen Texts in den Ersetzungstext einfügen
- 2.22 Suchergebniskontext in den Ersetzungstext einfügen
-
+
Kapitel 3 – Mit regulären Ausdrücken programmieren
- 3.1 Literale reguläre Ausdrücke im Quellcode
- 3.2 Importieren der Regex-Bibliothek
- 3.3 Erstellen eines Regex-Objekts
- 3.4 Optionen für reguläre Ausdrücke setzen
- 3.5 Auf eine Übereinstimmung in einem Text prüfen
- 3.6 Auf eine vollständige Übereinstimmung einer Regex mit einem Text prüfen
- 3.7 Auslesen des übereinstimmenden Texts
- 3.8 Position und Länge der Übereinstimmung ermitteln
- 3.9 Teile des übereinstimmenden Texts auslesen
- 3.10 Eine Liste aller Übereinstimmungen erhalten
- 3.11 Durch alle Übereinstimmungen iterieren
- 3.12 Übereinstimmungen in prozeduralem Code überprüfen
- 3.13 Eine Übereinstimmung in einer anderen Übereinstimmung finden
- 3.14 Alle Übereinstimmungen ersetzen
- 3.15 Übereinstimmungen durch Teile des gefundenen Texts ersetzen
- 3.16 Übereinstimmungen durch Text ersetzen, der im Code erzeugt wurde
- 3.17 Alle Übereinstimmungen innerhalb der Übereinstimmungen einer anderen Regex ersetzen
- 3.18 Alle Übereinstimmungen zwischen den Übereinstimmungen einer anderen Regex ersetzen
- 3.19 Einen String aufteilen
- 3.20 Einen String aufteilen und die Regex- Übereinstimmungen behalten
- 3.21 Zeile für Zeile suchen
-
+
Kapitel 4 – Validierung und Formatierung
- 4.1 E-Mail-Adressen überprüfen
- 4.2 Nordamerikanische Telefonnummern validieren
- 4.3 Internationale Telefonnummern überprüfen
- 4.4 Klassische Datumsformate validieren
- 4.5 Klassische Datumsformate exakt validieren
- 4.6 Klassische Zeitformate validieren
- 4.7 Datums- und Uhrzeitwerte im Format ISO 8601 validieren
- 4.8 Eingabe auf alphanumerische Zeichen beschränken
- 4.9 Die Länge des Texts begrenzen
- 4.10 Die Zeilenanzahl eines Texts beschränken
- 4.11 Antworten auswerten
- 4.12 US-Sozialversicherungsnummern validieren
- 4.13 ISBN validieren
- 4.14 ZIP-Codes validieren
- 4.15 Kanadische Postleitzahlen validieren
- 4.16 Britische Postleitzahlen validieren
- 4.17 Deutsche Postleitzahlen validieren
- 4.18 Namen von „Vorname Nachname“ nach „Nachname, Vorname“ umwandeln
- 4.19 Kreditkartennummern validieren
- 4.20 Europäische Umsatzsteuer-Identifikationsnummern
-
+
Kapitel 5 – Wörter, Zeilen und Sonderzeichen
- 5.1 Ein bestimmtes Wort finden
- 5.2 Eines von mehreren Wörtern finden
- 5.3 Ähnliche Wörter finden
- 5.4 Alle Wörter außer einem bestimmten finden
- 5.5 Ein beliebiges Wort finden, auf das ein bestimmtes Wort nicht folgt
- 5.6 Ein beliebiges Wort finden, das nicht hinter einem bestimmten Wort steht
- 5.7 Wörter finden, die nahe beieinanderstehen
- 5.8 Wortwiederholungen finden
- 5.9 Doppelte Zeilen entfernen
- 5.10 Vollständige Zeilen finden, die ein bestimmtes Wort enthalten
- 5.11 Vollständige Zeilen finden, die ein bestimmtes Wort nicht enthalten
- 5.12 Führenden und abschließenden Whitespace entfernen
- 5.13 Wiederholten Whitespace durch ein einzelnes Leerzeichen ersetzen
- 5.14 Regex-Metazeichen maskieren
- + Kapitel 6 – Zahlen
-
+
Kapitel 7 – URLs, Pfade und Internetadressen
- 7.1 URLs validieren
- 7.2 URLs in einem längeren Text finden
- 7.3 URLs in Anführungszeichen in längerem Text finden
- 7.4 URLs mit Klammern in längerem Text finden
- 7.5 URLs in Links umwandeln
- 7.6 URNs validieren
- 7.7 Generische URLs validieren
- 7.8 Das Schema aus einer URL extrahieren
- 7.9 Den Benutzer aus einer URL extrahieren
- 7.10 Den Host aus einer URL extrahieren
- 7.11 Den Port aus einer URL extrahieren
- 7.12 Den Pfad aus einer URL extrahieren
- 7.13 Die Query aus einer URL extrahieren
- 7.14 Das Fragment aus einer URL extrahieren
- 7.15 Domainnamen validieren
- 7.16 IPv4-Adressen finden
- 7.17 IPv6-Adressen finden
- 7.18 Einen Pfad unter Windows validieren
- 7.19 Pfade unter Windows in ihre Bestandteile aufteilen
- 7.20 Den Laufwerkbuchstaben aus einem Pfad unter Windows extrahieren
- 7.21 Den Server und die Freigabe aus einem UNC-Pfad extrahieren
- 7.22 Die Ordnernamen aus einem Pfad unter Windows extrahieren
- 7.23 Den Dateinamen aus einem Pfad unter Windows extrahieren
- 7.24 Die Dateierweiterung aus einem Pfad unter Windows extrahieren
- 7.25 Ungültige Zeichen aus Dateinamen entfernen
-
+
Kapitel 8 – Markup und Datenaustausch
- 8.1 Tags im XML-Stil finden
- 8.2 <b>-Tags durch <strong> ersetzen
- 8.3 Alle Tags im XML-Stil außer <em> und <strong> entfernen
- 8.4 XML-Namen finden
- 8.5 Einfachen Text durch Ergänzen von <p>- und <br>- Tags nach HTML konvertieren
- 8.6 Ein bestimmtes Attribut in Tags im XML-Stil finden
- 8.7 Tags vom Typ <table> ein Attribut „cellspacing“ hinzufügen, die es noch nicht haben
- 8.8 Kommentare im XML-Stil entfernen
- 8.9 Wörter in Kommentaren im XML-Stil finden
- 8.10 Ändern der Feldbegrenzer in CSV-Dateien
- 8.11 CSV-Felder aus einer bestimmten Spalte extrahieren
- 8.12 Sektionsüberschriften in INI-Dateien finden
- 8.13 Sektionsblöcke in INI-Dateien finden
- 8.14 Name/Wert-Paare in INI-Dateien finden
- Index
Für Entwickler, die regelmäßig mit Texten arbeiten, sind reguläre Ausdrücke so lebensnotwendig wie die Luft zum Atmen. Doch wer sich nur oberflächlich mit diesem Hilfsmittel auskennt, gerät leicht in unangenehme Situationen. Selbst erfahrene Programmierer haben immer wieder mit schlechter Performance, falsch positiven oder falsch negativen Ergebnissen und unerklärlichen Fehlern zu kämpfen. Dieses Kochbuch schafft Abhilfe: Anhand von über 100 Rezepten für C#, Java, JavaScript, Perl, PHP, Python, Ruby und VB.NET lernen Sie, wie Sie reguläre Ausdrücke gekonnte einsetzen, typische Fallen umgehen und so viel wertvolle Zeit sparen. Mit Tutorial für Anfänger Falls Sie noch nicht oder nur wenig mit regulären Ausdrücken gearbeitet haben, dienen Ihnen die ersten Kapitel dieses Buchs als Tutorial, das Sie mit den Grundlagen der Regexes und empfehlenswerten Tools vertraut macht. So sind Sie für die komplexeren Beispiele in den darauf folgenden Kapiteln bestens gerüstet. Tricks und Ideen für Profis Auch erfahrene Regex-Anwender kommen ganz auf ihre Kosten: Jan Goyvaerts und Steven Levithan, zwei anerkannte Größen im Bereich reguläre Ausdrücke, gewähren tiefe Einblicke in ihren Erfahrungsschatz und überraschen mit eleganten Lösungen für fast jede denkbare Herausforderung. Deckt die unterschiedlichen Programmiersprachen ab In allen Rezepten werden Regex-Optionen sowie Varianten für die verschiedenen Programmier- und Skriptsprachen aufgezeigt. Damit lassen sich sprachenspezifische Bugs sicher vermeiden. Das Reguläre Ausdrücke Kochbuch behandelt unter anderem: * Grundlagen der Arbeit mit regulären Ausdrücken * Überprüfen und Formatieren von Eingaben * Verarbeiten von Wörtern, Zeilen, Sonderzeichen und numerischen Werten * Reguläre Ausdrücke in URLs, Pfaden, Auszeichnungen und im Datenaustausch * Fortgeschrittene Regex-Optionen * Programmiersprachenspezifische Unterschiede bei APIs, Syntax und Verhalten der regulären Ausdrücke
Book Details
Authors
Jan Goyvaerts and Steven Levithan
Publishers
Publication year : 2010
License: All rights reserved ©
Times read: 827

