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做文件名 |
参考资料: