首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这会返回regex-group(1)的值?

为什么这会返回regex-group(1)的值?
EN

Stack Overflow用户
提问于 2015-10-26 09:20:14
回答 2查看 166关注 0票数 2

我期望前两个regex组值在以下代码中为空(排除其他人的代码):

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl"
  exclude-result-prefixes="xs xd"
  version="2.0">

  <xsl:output method="text"/>

  <xsl:template match="/">
    <xsl:analyze-string select="'1949'" regex="([0-9]{{1,2}})?\s?([A-Z]{{1}}[a-z]{{1,8}}\.?)?\s?([0-9]{{4}})">
      <xsl:matching-substring>
        <xsl:text>regex-group(1)=</xsl:text><xsl:value-of select="regex-group(1)"/><xsl:text>&#xd;</xsl:text>
        <xsl:text>regex-group(2)=</xsl:text><xsl:value-of select="regex-group(2)"/><xsl:text>&#xd;</xsl:text>
        <xsl:text>regex-group(3)=</xsl:text><xsl:value-of select="regex-group(3)"/><xsl:text>&#xd;</xsl:text>
      </xsl:matching-substring>
    </xsl:analyze-string>
  </xsl:template>

</xsl:stylesheet>

但是,相反(使用saxon 9.6.0.5更新-也是saxon 9.6.0.7),我得到:

代码语言:javascript
复制
regex-group(1)=1
regex-group(2)=
regex-group(3)=1949

我正在调试其他人以前的代码:这是saxon中的bug吗?还是我遗漏了什么东西导致“1”被归还?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-26 10:21:21

因为这给出了Saxon9.5.1.7中的预期结果,我认为这是一个bug,所以我已经用Saxonica打开了一个报告。

票数 0
EN

Stack Overflow用户

发布于 2016-08-18 20:52:18

这个bug也出现在Saxon版本9.7.0-5中.我不得不将代码降到9.6.0-7版本才能正常工作。我使用了9.6.0-7版本,因为氧气中的嵌入式xslt引擎(代码运行得很好)使用了该版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33342200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档