Reguläre benannte Gruppen in Java
Einführung in den Hintergrund
Das java.regex-Paket von Java unterstützt keine benannten Gruppen, daher werden in diesem Artikel Drittanbieter vorgestellt Bibliotheken, um dieses Problem zu beheben.
Bibliotheken von Drittanbietern, die benannte Gruppen unterstützen
Java 7
Ab Java 7 unterstützt Java nativ benannte Gruppen. Sie können die folgende Struktur verwenden:
- (?Erfassungstext): definiert eine benannte Gruppe mit dem Namen „name“
- k: bezieht sich auf eine benannte Gruppe benannte benannte Gruppe von „name“
- ${name}: Referenziert die erfasste Gruppe in Matchers Ersetzungszeichenfolge
- Matcher.group(String name): Rückgabe durch die angegebene „benannte Gruppe“ Erfasst Eingabe-Teilsequenz.
Weitere Informationen finden Sie im Oracle-Blog.
Alternativen vor Java 7
Für Versionen vor Java 7 bieten die folgenden Bibliotheken von Drittanbietern benannte Gruppenunterstützung:
-
Google benannter-regex: Hat volle Unterstützung, es müssen jedoch möglicherweise einige Fehler behoben werden.
-
jregex: Eingeschränkte Unterstützung, nur für ASCII-Bezeichner.
Beispiel für eine benannte Gruppe
Das Folgende ist ein Beispiel für die Verwendung benannter Gruppen:
Zeichenfolge:
Regulärer Ausdruck:
Zugriff:
Ersetzung:
Einschränkungen und Hinweise
- Java 7 bietet immer noch begrenzte Unterstützung für benannte Gruppen (Einzelheiten finden Sie in der Antwort von tchrist).
- Die benannten Gruppen einiger Bibliotheken funktionieren möglicherweise nicht mit der Regex-Rekursion.
- Bei der Angabe benannter Gruppen für reguläre Ausdrücke müssen die Namenskonventionen strikt eingehalten werden (z. B. nur ASCII-Bezeichner).
Das obige ist der detaillierte Inhalt vonWie verwende ich benannte Erfassungsgruppen in regulären Java-Ausdrücken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!