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!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn