Characters which have special meaning in the second or third argument must be escaped using backslash "\".
|
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="replace(.,'(\d+)\*(\d+)\?(\d+)','$2')"/> </xxx> <yyy> <xsl:value-of select="replace(.,'(\d+).*(\d+)\S?(\d+)','\$$2')"/> </yyy> <zzz> <xsl:value-of select="replace(.,'(\d+).*?(\d+).*?(\d+)','\$$1\\\$$2\\\\\$$3')"/> </zzz> </xsl:template> </xsl:stylesheet> |
|
|
XML
<aaa>111*222?33</aaa> |
Output
<xxx>222</xxx> <yyy>$3</yyy> <zzz>$111\$222\\$33</zzz> |
| Previous chapter: | Functions operating on strings |
| Next chapter: | Number Formatting |
| Previous page: | Using matched substrings in replacements |
| Next page: | Creating text nodes by regular expressions - function tokenize |