You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在SaxonJ HE 12的XPath中使用负前瞻正则的转义问题

XPath中matches()函数的负前瞻正则失效问题

在SaxonJ HE 12(Java环境)中,我尝试在XPath的matches()函数参数里使用负前瞻正则表达式:

//test[matches(me, '(?!0115)[0-9]{4}')]

这个正则的作用是匹配除0115之外的4位数字,单独测试正则本身是正常的,但嵌入到XPath表达式后就失效了。我试过转义\()、?这类Java相关字符,都没解决问题。

我知道可以通过添加额外条件... and me!='0115'作为替代方案,但因为后续还有更复杂的正则需求,所以希望能解决原正则在XPath里失效的问题。

请问这是XPath本身的限制,还是Saxon的bug?

内容的提问来源于stack exchange,提问作者yan-hic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 15:43:14