我想知道是否可以使用analyze-string
并在RegEx中设置多个组,然后将所有匹配组存储在变量中以供稍后使用。XSL分析字符串 - >匹配子字符串到多个变量
像这样:
<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,效率不高,我应该能够处理正则表达式并存储所有组以备后用。
任何想法?
稍后我将如何访问这些值? 我习惯了使用$ varname 你是否可以像数组一样访问这些数据?我需要稍后使用值如果测试 – TheStoneFox 2012-07-28 15:25:14
您可以访问'$ groups [1]/x','$ groups [1]/y','$ groups [2]/x','$ groups [2 ]/y'等等。你当然也可以进一步处理元素,例如' xsl:for-each>'或apply-templates例如' '。 –
2012-07-28 16:25:19
这是一种享受,非常感谢! – TheStoneFox 2012-07-28 16:51:53