regexp:match()

regexp:match() performs regular expression matching on a string, returning the submatches found as a result.

Syntax

regexp:match(targetString, regExpString[, flagsString])

Parameters

targetString
The string to perform regular expression matching upon.
regExpString
The JavaScript style regular expression to evaluate.
flagsStringOptional
An optional string containing character flags.

The character flags are:

g
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.
i
Case insensitive match
If this flag is specified, the match is performed in a case insensitive fashion.

Returns

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('http://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 = http://developer.mozilla.org/en/docs/Firefox_3_for_developers
Part 2 = http
Part 3 = developer.mozilla.org
Part 4 = 
Part 5 = /en/docs/Firefox_3_for_developers

Specifications

EXSLT - REGEXP:MATCH

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
regexp:match()Chrome ? Edge ? Firefox Full support 3IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Firefox Android Full support 4Opera Android ? Safari iOS ? Samsung Internet Android ?

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown