Subject: Re: [xsl] Could not use matches in Regular Expression (XSLT 2.0) From: Wolfgang Laun <wolfgang.laun@xxxxxxxxx> Date: Sat, 1 May 2010 16:18:21 +0200 |
The pattern must be a string, so enclose it in apostrophes. (Also, there is one opening bracket missing.) To have an exact match, use '^' and '$' to anchor at the beginning and the end. You may simplify using a repeat count (and \d for digit). All together now: matches( ., '^4\d{6}$' ) -W > On Sat, May 1, 2010 at 3:56 PM, Jack Bush <netbeansfan@xxxxxxxxxxxx> wrote: >> >> Hi Forum members, >> >> I >> am new to XSLT 2.0 and would like to do the following basic numeric string pattern >> matching using regular expression: >> >> <xsl:template match="ns:p[ns:strong='Telephones:']"> >> <xsl:choose> >> < -- If global parameter $TELEPHONE_AREA_CODE equals to FAIRYLAND --> >> <xsl:when test="$TELEPHONE_AREA_CODE = ''FAIRYLAND"> >> <xsl:for-each select="ns:a"> >> <-- Only accept the phone number that starts with 4 follow by six digits.... ---> >> <xsl:if test="matches(.,4[0-9][0-9][0-9]0-9][0-9][0-9])"> >> <phone_number><xsl:value-of select='.'/></phone_number> >> </xsl:if> >> </xsl:for-each>/> >> ...... >> >> However, it is picking up phone numbers starting with 1 instead. Also tried the starts-with() with the same outcomes. >> >> I am using JDK1.6.19, Netbeans 6.7, JDOM 1.1, Saxon 9.1 on Windows XP. >> >> Your assistance would be much appreciated. >> >> Thanks in advance, >> >> Jack
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Could not use matches in , Michael Kay | Thread | Re: [xsl] Could not use matches in , Jack Bush |
RE: [xsl] Could not use matches in , Michael Kay | Date | Re: [xsl] Could not use matches in , Sam Byland |
Month |