Java

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

Seit der Version 1.4 von Anfang 2002 hat Java von Haus aus ein Regex-Package. Es handelt sich um eine umfangreiche und innovative Implementation mit einer aufgeräumten (manchmal etwas sehr einfachen) API. Unicode wird recht gut unterstützt, die Dokumentation ist klar und die Leistung des Pakets ist gut. Die Regex wird auf CharSequence-Objekte angewandt und ist so recht flexibel im Gebrauch.

Die ursprüngliche Version von java.util.regex war ein Meilenstein. Das Paket war von Anfang an reichhaltig, schnell und hatte fast keine Kinderkrankheiten. Die letzte 1.4-Version war die von Java 1.4.2. Zum Zeitpunkt der Drucklegung war Java 1.5.0 (auch Java 5.0 genannt) die aktuelle Version, und Java 1.6.0 (auch Java 6.0, Codename »Mustang«) war im Beta-Teststadium. Das Buch behandelt das Regex-Paket von Java 1.5.0, aber ich gehe auf wichtige Unterschiede zu den Versionen 1.4 und 1.6 ein (diese Unterschiede werden außerdem am Ende dieses Kapitels aufgelistet, siehe Unterschiede zwischen den Java-Versionen). (Anmerkung: Dieses Buch behandelt Java 1.5.0 mit dem Update 7. Die ursprüngliche 1.5-Version hatte einen ernsthaften Fehler in Bezug auf die Suche ohne Berücksichtigung von Groß- und Kleinschreibung. Dieser wurde im Update 2 beseitigt; verwenden Sie also nicht die Versionen davor.
Zum Zeitpunkt der Übersetzung gab es zu Java 1.5 bereits das Update 11; Java 6.0 Update 1 war die aktuelle Version. Alle Programmbeispiele wurden mit den neueren Versionen getestet. (Anm. d. Ü.))

In diesem Kapitel

Vor einer Inhaltsangabe sollte ich erwähnen, was nicht in diesem Kapitel zu finden ist. Zunächst wird in diesem Kapitel nicht der ganze Stoff aus Einführung in reguläre Ausdrücke bis Die Kunst, reguläre Ausdrücke zu schreiben repetiert. Ich kann verstehen, dass sich ein Java-Programmierer nur auf dieses Kapitel stürzen will, aber damit fehlen die Grundlagen aus der Einführung und den frühen Kapiteln. In Einführung in reguläre Ausdrücke bis Features und Dialekte werden die grundlegenden Konzepte, Eigenschaften und Vorgehensweisen bei regulären Ausdrücken erklärt, und unter Wie Regex-Maschinen arbeiten bis Die Kunst, reguläre Ausdrücke zu schreiben werden wichtige Schlüsseltechniken zur Arbeit mit regulären Ausdrücken vermittelt, die direkt auf java.util.regex anwendbar sind. Zu diesen wichtigen Grundlagen gehören insbesondere die Arbeitsweise einer NFA-Regex-Maschine, das »gierige« Verhalten einer Regex, das Backtracking und die Überlegungen zur Effizienz einer Regex.

Tabelle: Index der Methoden aus java.util.regex, alphabetisch sortiert.

Methoden aus java.util.regex
appendReplacement matcher replaceFirst
appendTail matches (Matcher) requireEnd
compile matches (Pattern) reset
end pattern (Matcher) split
find pattern (Pattern) start
flags quote text
group quoteReplacement toMatchResult
groupCount region toString (Matcher)
hasAnchoringBounds regionEnd toString (Pattern)
hasTransparentBounds regionStart useAnchoringBounds
hitEnd replaceAll usePattern
lookingAt replaceAllRegion useTransparentBounds

Übersichtstabellen wie Die Regex-Modi bei java.util.regex oder In diesem Abschnitt behandelte Konstrukte und Grundlegende Unter-Eigenschaften in Unicode sind sicher hilfreich, aber ich möchte betonen, dass dieses Buch nicht primär als Handbuch zum Nachschlagen gedacht ist. In erster Linie geht es mir darum, im Detail zu zeigen, wie reguläre Ausdrücke funktionieren.

Wir haben in den früheren Kapiteln Beispiele mit java.util.regex kennengelernt (siehe »Verdoppelte Wörter« in Java, Gebrauch von regulären Ausdrücken in Java, Suchen und Ersetzen in Java, CSV-Dateien mit Java parsen, Benchmarks mit Java), und in diesem Kapitel werden bei der Besprechung von Klassen und deren Gebrauch weitere folgen.

  

  

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