regex-group

(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 5.)

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

   

Kategorie: Stringfunktionen – Analyse und Manipulation

Herkunft: XSLT 2.0

Rückgabewert: Ein String xs:string; derjenige Teilstring eines Matches von xsl:analyze-string, der der Subgruppe entspricht, die durch das überge­bene Integerargument bezeichnet wird.

Aufruf/Argumente:

regex-group($subgruppenindex)

$subgruppenindex:
Eine (positive) Ganzzahl xs:integer gleich oder größer 1; bezeichnet eine durch runde Klammern markierte Subgruppe des regulären Ausdrucks einer xsl:analyze-string-Instruktion.

Anmerkung: Der Wert von $subgruppenindex darf durchaus auch 0 sein – in diesem Fall wird jedoch keine Subgruppe, sondern der gesamte Match des regulären Ausdrucks zurückgegeben. Negative Werte von $subgruppenindex verursachen keinen Fehler, sondern geben leere Strings zurück, da keine etsprechenden Subgruppen existieren.

Verwendungszweck:

Die XSLT-Funktion regex-group() ermöglicht während der Verarbeitung einer xsl:analyse-string-Instruktion den Zugriff auf Subgruppen (current captured substrings) der Fundstellen (matches) des regulären Ausdrucks der Instruk­tion, die in diesem durch geklammerte Teilausdrücke erzeugt werden.

Die Subgruppen werden innerhalb des regulären Ausdruck mit 1 beginnend von links nach rechts nummeriert. Sie entsprechen temporären Variablen, in die während der Laufzeit Teilstrings des Matches gespeichert wer­den.

Für einen regulären Ausdruck mit zwei Subgruppen der Form (\d\d)\.(\d\d), der Zeichenfolgen aus zwei durch einen Punkt getrennten Ziffernfolgen findet, gibt die Funktion mit Argument 1 das erste Ziffernpaar, mit Argument 2 das zweite Ziffernpaar zurück.

Die Funktion ist nur sinnvoll im Kontext der Subinstruktion xsl:matching-substring einsetzbar (zum Zeitpunkt der Verarbeitung der Pattern-Mat­ches). Zu allen anderen Gelegenheiten aufgerufen, gibt sie die leere Sequenz zurück.

Wird der Funktion ein Zahlenwert übergeben, zu der keine korrespondierende Subgruppe existiert, so gibt sie den leeren String zurück. Dasselbe geschieht jedoch auch, wenn die bezeichnete Subgruppe existiert und den leeren String als Match enthält, oder wenn sie zwar existiert, aber keinen Match ver­zeichnet. 

Beispiel:

Ein ausführliches Beispiel befindet sich bei den Erläuterungen zur XSLT-Instruktion xsl:matching-substring.

Funktionsdefinition:

XSLT 1.0:

Funktion nicht verfügbar

XSLT 2.0:

regex-group($group-number as xs:integer) as xs:string

Querverweis: siehe auch XSLT-Instruktionen xsl:analyze-string, xsl:matching-substring, xsl:non-mat­ching-substring.

   

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © Galileo Press, Bonn 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSLT 2.0 & XPath 2.0 ― Das umfassende Handbuch" 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.


Galileo Press, Rheinwerkallee 4, 53227 Bonn