目录
1. Ant 风格
Apache Ant 路径匹配模式(目录的模式匹配)中主要有三种通配符:
通配符 | 说明 |
? | 匹配任何单字符 |
* | 匹配0或者任意数量的字符(不包含分割符 /) |
** | 匹配0或者任意数量的目录(如果模式以 / 或 \ 结尾,则会自动补上 **) |
2. Ant 风格示例
Apache Ant 中的例子:
Example | Explanation |
**/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 目录下的所有文件(包括下层文件) |
匹配的时候的原则是:最长匹配原则,即URL请求 /com/dir/index.jsp,如果存在两个路径匹配模式 /**/*.jsp 和/com/dir/*.jsp,那么会根据模式 /com/dir/*.jsp 来匹配。