gpt4 book ai didi

regex - XSLT/XQuery正则表达式的行为是否与实现有关?

转载 作者:行者123 更新时间:2023-12-03 16:04:45 25 4
gpt4 key购买 nike

使用为XPath和XQuery定义的正则表达式规范,是否有两种fn:analyze-string的不同实现(以相同的正则表达式和匹配字符串作为输入)返回不同的结果,并且仍然被认为符合W3C建议书?还是应该在不同的XQuery和XSLT处理器之间始终使用相同的输入返回相同的结果?

具体来说,我要问的是matchnon-matchgroup@nr值的内容,而不是基本URI或节点标识(它们明确定义为依赖于实现)。

最佳答案

规范取决于实现的一两个非常小的方面:


允许供应商决定采用哪个版本的Unicode作为基准。 Unicode版本之间存在一些变化,例如字符类别的变化,可能会影响\ p {Cn}或\ p {IsGreek}之类的表达式的结果,或者是否将两个字符视为每个字符的大小写变量的问题其他。
在极端情况下,捕获的子字符串的规则不太精确。该规范给出了一个示例:例如,给定正则表达式(a *)+和输入字符串“ aaaa”,则实现可以合法地捕获“ aaaa”或零长度字符串作为捕获子组的内容。


除此之外,不同处理器的结果应该相同。但是,当然,这是处理器可能认为100%一致性太难的一个领域-例如,在Saxon-JS中,我们决定尽我们所能使用Javascript 6 regex引擎,这肯定使我们不足100符合XPath规则的百分比。

关于regex - XSLT/XQuery正则表达式的行为是否与实现有关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42146557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com