regexp:match() performs regular expression matching on a string, returning the submatches found as a result.
regexp:match(targetString, regExpString[, flagsString])
The string to perform regular expression matching upon.
An optional string containing character flags.
The character flags are:
Global match. The submatches from every match in the string are returned. If this flag isn't specified, only the submatches from the first match are returned.
Case insensitive match. If this flag is specified, the match is performed in a case insensitive fashion.
A node set of
match elements, each of which has the string value equal to a portion of the first parameter string as captured by the regular expression. If the match isn't a global one, the first match element has the value of the portion of the string matched by the entire regular expression.
<xsl:for-each select="regExp:match('https://developer.mozilla.org/en/docs/Firefox_3_for_developers', '(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)')"> Part <xsl:value-of select="position()" /> = <xsl:value-of select="." /> </xsl:for-each>
This code generates the following output:
Part 1 = https://developer.mozilla.org/en/docs/Firefox_3_for_developers Part 2 = https Part 3 = developer.mozilla.org Part 4 = Part 5 = /en/docs/Firefox_3_for_developers