【问题标题】:matching and grouping string using XSLT regex analyze-string使用 XSLT 正则表达式分析字符串匹配和分组字符串
【发布时间】:2012-04-25 03:21:02
【问题描述】:

我正在使用 XSLT 2.0 根据正则表达式查找匹配的子字符串

我的 XSLT 函数如下所示

<xsl:function name="util:getSource">
    <xsl:variable name="dynamic" select="'Allergy Adverse Event Type 2.16.840.1.113883.3.88.12.3221.6.2'"/>
    <xsl:choose>
        <xsl:when test="string-length($dynamic) &gt; 1 and matches($dynamic,'[a-zA-Z\s]*')">
            <xsl:analyze-string select="$dynamic" regex="[a-zA-Z\s]*">
                <xsl:matching-substring>
                    <xsl:value-of select="."/>
                </xsl:matching-substring>
            </xsl:analyze-string>
        </xsl:when>
    </xsl:choose>
</xsl:function>

我想从我的输入字符串"'Allergy Adverse Event Type 2.16.840.1.113883.3.88.12.3221.6.2'"中找到"Allergy Adverse Event Type" > 基于正则表达式[a-zA-Z\s]*;当我执行上述函数时,我总是收到“XTDE1150:正则表达式匹配空字符串”。正则表达式有什么问题;我可以对此提出建议吗?

【问题讨论】:

    标签: xml xslt xpath


    【解决方案1】:

    来自spec

    [ERR XTDE1150] 如果有效,则为不可恢复的动态错误 regex 属性的值是匹配的正则表达式 零长度字符串

    只需将您的正则表达式更改为 [a-zA-Z\s]+ 就可以了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-25
      • 1970-01-01
      • 2010-09-15
      • 1970-01-01
      相关资源
      最近更新 更多