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.

Auf dieser Seite:

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 mithilfe der matches-Funktion gefiltert, deren Childnode vorname dem '[A-Z]{1}[a-z]{1,19}' entsprechen. Die Funktion 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 Sie 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 / 5. April 2018



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.






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