Bug #2951
Updated by Michael Kay over 7 years ago
Reported by Gerrit Imsieke on Saxon help list. Test case analyze-string-096 added to XSLT 3.0 test suite. <pre> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="2.0"> <xsl:variable name="regex" as="xs:string" select="'^(\p{Lu}{2}_\p{Lu}{3}_)?((\d{5})_)?(\d{5}).*$'" /> <xsl:variable name="basename" as="xs:string" select="'UV_STD_00000_39000_Test'" /> <xsl:template name="main"> <xsl:analyze-string select="$basename" regex="{$regex}"> <xsl:matching-substring> <xsl:message select="for $i in (1 to 4) return concat($i, ':', regex-group($i))"/> </xsl:matching-substring> </xsl:analyze-string> </xsl:template> </xsl:stylesheet> </pre> Results are correct up to 9.6.0.7 and incorrect from 9.6.0.8.