在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
相关产品推荐
相关产品推荐

