【问题标题】:How to find Numbers before closing node Element in XML如何在关闭 XML 中的节点元素之前找到数字
【发布时间】:2020-06-12 07:30:50
【问题描述】:

我尝试在关闭元素之前查找字符串,例如(277, 288) 然后替换 $1 返回 s/b 277(<) 不支持我的正则表达式
输入 XML

<root>
<p>Magno v College Network, Inc. (2016) 1 CA5th 277, 288</p>
<p>Magno v College Network, Inc. (5, 2017) 1 CA5th 15, 288 SA</p>
</root>

XSLT

<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
</xsl:template>

<xsl:template match="//text()">
    <xsl:value-of select="replace(., '([0-9]+),\s[0-9]+(&lt;)', '$1')"/>
</xsl:template>

预期输出

 <root>
   <p>Magno v College Network, Inc. (2016) 1 CA5th 277</p>
   <p>Magno v College Network, Inc. (5, 2017) 1 CA5th 15, 288 SA</p>
</root>

【问题讨论】:

    标签: regex xslt xslt-2.0


    【解决方案1】:

    什么样的数字,只有正整数,没有任何前导 +- 符号?无论如何,如果您使用正则表达式进行匹配,那么元字符 $ 表示字符串末尾的匹配可能在您的表达式中使用它,如 '([0-9]+),\s[0-9]+$',就足够了。

    【讨论】:

    • 马丁先生感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    相关资源
    最近更新 更多