我正试图从下面的列表中抓取3.XML到6.XML:
xml3.xml
4.4 _1.xml
xml5.5 _1.xml
xml6.xml
31.
collection('file:///.../?select=[3-6](_[0-9]+)?.XML
只抓取4_1.XML和5_1.XML,因此不能识别'?'。对如何解决这个问题有什么建议吗?我使用的是Saxon-PE 9.5.1.3。
谢谢,@Florent,你的诊断是正确的。
虽然文档没有提到,在这个类球形模式中,不仅*被视为意义*(任何字符序列),而且?被视为有意义的。(任何单个字符,或无)。
我找到了一个解决方法,这是用%7B0,1%7D
-即{0,1}
%-转义来替换regex中的"?",以使其在URI中有效。
集合URI中参数select
的值不是正则表达式,它是一个类似全局的模式(就像您在shell中使用的那样)。详细信息请参见文档
在你的情况下,我认为你能做的最好的是?select=*.XML
恐怕。