我想知道是否可以使用
例如:
analyze-string
在正则表达式中设置多个组,然后将所有匹配的组存储在变量中以供以后使用。例如:
<xsl:analyze-string regex="^Blah\s+(\d+)\s+Bloo\s+(\d+)\s+Blee" select=".">
<xsl:matching-substring>
<xsl:variable name="varX">
<xsl:value-of select="regex-group(1)"/>
</xsl:variable>
<xsl:variable name="varY">
<xsl:value-of select="regex-group(2)"/>
</xsl:variable>
</xsl:matching-substring>
</xsl:analyze-string>
这实际上是不起作用的,但这是我想要的类型,我知道我可以将analyze-string
包装在变量中,但对于每个组,我都必须处理RegEx,这似乎很愚蠢,效率也不高,我应该能够一次处理正则表达式并存储所有组以供以后使用。
有什么想法吗?
$groups[1]/x
、$groups[1]/y
、$groups[2]/x
、$groups[2]/y
等等。当然,您也可以进一步处理元素,例如<xsl:for-each select="$groups[x = 1]"><xsl:value-of select="y"/></xsl:for-each>
或应用模板,例如<xsl:apply-templates select="$groups[x = 100]"/>
。 - Martin Honnen