XML 中的通配符文件匹配
Wildcard file matching in XML
XML 文件包含 <Wildcard>
标签,
<Wildcard>r_prior*.obj</Wildcard>
我想访问名称为 r_prior[0-9].obj 的文件,可以有一个文件 r_prior_dummy.obj(我不需要),但是使用当前代码它正在使用 r_ram_dummy.obj还有。
<Wildcard>
的架构代码:
<simpleType name="Wildcard">
<restriction base="string">
<pattern value="[^\/]+"></pattern>
</restriction>
</simpleType>
我试过 <Wildcard>r_prior[0-9].obj</Wildcard>
,但没用。
我应该怎么做?
也许你需要转义“.”
r_prior[0-9][.]obj
在此处查看工作示例:RegexR
这里似乎有两种独立类型的模式匹配:
- 正则表达式:XML 架构在
xs:pattern
中使用的内容。比文件通配更具表现力;使用 *
匹配零个或多个
前导字符; ?
可选匹配前面的字符;
以及更多匹配结构。
- 文件通配:图书馆经常使用什么来过滤文件列表。通常比正则表达式表现力差;使用
*
匹配任何字符; ?
匹配一个未知字符
(在某些情况下包括 0 个未知字符);等等
假设您只能更改 XML 文件,您需要检查 Java 应用程序以查看它支持哪种类型的文件 globbing 构造。 (如果您有源代码,请查看正在调用什么来过滤文件列表并检查其文档。)您可以假设支持 *
。例如,您不能假定支持 [characters]
。
XML 文件包含 <Wildcard>
标签,
<Wildcard>r_prior*.obj</Wildcard>
我想访问名称为 r_prior[0-9].obj 的文件,可以有一个文件 r_prior_dummy.obj(我不需要),但是使用当前代码它正在使用 r_ram_dummy.obj还有。
<Wildcard>
的架构代码:
<simpleType name="Wildcard">
<restriction base="string">
<pattern value="[^\/]+"></pattern>
</restriction>
</simpleType>
我试过 <Wildcard>r_prior[0-9].obj</Wildcard>
,但没用。
我应该怎么做?
也许你需要转义“.”
r_prior[0-9][.]obj
在此处查看工作示例:RegexR
这里似乎有两种独立类型的模式匹配:
- 正则表达式:XML 架构在
xs:pattern
中使用的内容。比文件通配更具表现力;使用*
匹配零个或多个 前导字符;?
可选匹配前面的字符; 以及更多匹配结构。 - 文件通配:图书馆经常使用什么来过滤文件列表。通常比正则表达式表现力差;使用
*
匹配任何字符;?
匹配一个未知字符 (在某些情况下包括 0 个未知字符);等等
假设您只能更改 XML 文件,您需要检查 Java 应用程序以查看它支持哪种类型的文件 globbing 构造。 (如果您有源代码,请查看正在调用什么来过滤文件列表并检查其文档。)您可以假设支持 *
。例如,您不能假定支持 [characters]
。