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:
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