XPath 3.0, XPath 2.0, XPath 1.0 / XPath Funktionen / Stringfunktionen / XPath: matches

XPath: matches

XPath: matches

➪ Die XPath-Funktion "matches" prüft, ob ein Item einem regulären Ausdruck entspricht.

Sehr brauchbar ist die Möglichkeit, ein Pattern vorzugeben, um auf diese Weise die infrage kommenden Nodes auszufiltern. In dem folgenden XPath-Statement werden alle Mensch-Nodes mit Hilfe der matches-Funktion gefiltert, deren Childnode 'vorname' dem Pattern '[A-Z]{1}[a-z]{1,19}' entsprechen. Die Funktion "upper-case" konvertiert dann alle diese Namen in Großbuchstaben.

Allgemeine Informationen zu dem Thema siehe .


<xsl:for-each 
     select="//Mensch[matches(vorname, 
            '[A-Z]{1}[a-z]{1,19}')]">
  <Vorname>
  <xsl:value-of 
     select="upper-case(vorname)"/>
  </Vorname>
</xsl:for-each>

Der Output lautet wie erwartet:


<Vorname>HUGO</Vorname>
<Vorname>NICOLE</Vorname>
<Vorname>STEFAN</Vorname>
<Vorname>STEFAN</Vorname>
<Vorname>SIGGI</Vorname>
<Vorname>HEINI</Vorname>
<Vorname>RUDI</Vorname>
<Vorname>KARL</Vorname>
<Vorname>SIMONE</Vorname>
<Vorname>HORST</Vorname>
<Vorname>WERNER</Vorname>
<Vorname>LUDWIG</Vorname>
<Vorname>WILLI</Vorname>
<Vorname>RITA</Vorname>
<Vorname>SUSI</Vorname>
<Vorname>LOTTE</Vorname>
<Vorname>BETTY</Vorname>
<Vorname>MARTIN</Vorname>
<Vorname>LIANE</Vorname>

Flags

Wie in und , können wir auch bei matches mit Flags arbeiten.

s arbeitet im Single-Line-Modus: das Pattern . berücksichtigt alle Zeichen ohne "newline" (#x0A) und ohne Carriage-return (#x0D).
m arbeitet im Multi-Line-Modus
i ignoriert case-sensitive.
x Whitespaces im regulären Ausdruck werden entfernt.
q Spezialzeichen in den regulären Ausdrücken werden als normale Zeichen betrachtet.

Zu diesem Aspekt siehe auch .

wg / 16. Februar 2018



Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf:

Vorname
Nachname
Mailadresse







Vielen Dank für Ihr Interesse an meiner Arbeit.


V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/matches.html