apache ant路径匹配
起因是在vscode配置中看到了如下的路径匹配字符串**/*.jar
。以前只知道*
在正则表达式、shell命令行中匹配任意数量的字符串,还是头一次见两个*
连用的情况,于是就去查了一下,发现这种路径模式叫Apache Ant-style路径匹配。
Apache Ant样式的路径三种通配符
路径 | 描述 |
---|---|
? | 匹配任何单字符 |
* | 匹配0或任意数量字符 |
** | 匹配0或任意数量的目录 |
举例
Path | 作用 |
---|---|
**/CVS/* |
目录树中任意位置的CVS目录下的所有文件,匹配CVS/Repository, org/apache/CVS/Entries, org/apache/jakarta/tools/ant/CVS/Entries, 不匹配org/apache/CVS/foo/bar/Entries(foo/bar/ 部分不匹配) |
org/apache/jakarta/** |
匹配org/apache/jakarta下的所有目录树,匹配org/apache/jakarta/tools/ant/docs/index.html, org/apache/jakarta/test.xml,不匹配org/apache/xyz.java(没有Jakarta/部分) |
org/apache/**/CVS/* |
匹配org/apache目录中的任意CVS目录中的目录树,匹配org/apache/CVS/Entries org/apache/jakarta/tools/ant/CVS/Entries,不匹配org/apache/CVS/foo/bar/Entries(foo/bar/部分不匹配) |
**/test/** |
匹配只要路径中有test元素的所有文件,包括test做文件名 |
参考资料: