regexp:match() performs regular expression matching on a string, returning the submatches found as a result.
regexp:match(targetString, regExpString[, flagsString])
targetStringThe string to perform regular expression matching upon.
regExpStringThe JavaScript style regular expression to evaluate.
flagsString OptionalAn optional string containing character flags.
The character flags are:
gGlobal 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.
iCase 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.
For example:
<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