我试图通过以下列表中的6.XML获取3.XML:
3.XML
4.XML
4_1.XML
5.XML
5_1.XML
6.XML
31.XML
collection('file:///.../?select=[3-6](_[0-9]+)?.XML
仅抓取4_1.XML和5_1.XML,因此无法识别'?'。对于如何解决这个问题,有任何的建议吗?我使用的是Saxon-PE 9.5.1.3。
答案 0 :(得分:2)
谢谢@Florent,你的诊断是正确的。
虽然文档没有提到在这个类似于glob的模式中,不仅*被视为含义。*(任何字符序列),但是?被视为含义。? (任何单个字符,或没有)。
我找到了一个解决方法,即取代“?”在%7B0,1%7D
的正则表达式中 - 也就是说,{0,1}
%-escaped使其在URI中有效。
答案 1 :(得分:0)
集合URI中参数select
的值不是正则表达式,它是类似于glob的模式(就像您在shell中使用的那样)。有关详细信息,请参阅documentation。
在你的情况下,我认为你能做的最好的事情是?select=*.XML
我很害怕。