Previous | Next | Indexes
Zvon > Tutorials > XSLT 2.0 Tutorial > Transforming strings with regular expressions (1/8) >

Searching for a pattern in a string

Function matches() is used to find patterns specified by a regular expression in a string. If a match is found the function returns boolean value "true" otherwise it returns "false".

The first matches() is successful as the string contains string "do" followed by one or more whitespace characters and the string "you".

The second matches() is unsuccessful as it cannot find 6 non-whitespace characters in a row.

XSLT

      <xsl:stylesheet
                  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                  version="2.0">
            <xsl:output  method="xml"
                        indent="yes"
                        omit-xml-declaration="yes"/>

            <xsl:template  match="/aaa">
                  <xxx>
                        <xsl:value-of  select="matches(.,'do\s+you')"/>
                  </xxx>
                  <yyy>
                        <xsl:value-of  select="matches(.,'\S{6}')"/>
                  </yyy>
            </xsl:template>

      </xsl:stylesheet>
XML

      <aaa>How do you do?</aaa>
Output

      <xxx>true</xxx>
      <yyy>false</yyy>


Previous chapter: Functions operating on strings
Next chapter: Number Formatting
Previous page: - - -
Next page: Case insensitive search for a pattern