Ant Pattern.
spring中用于 匹配 路径
使用规则如下:
?
匹配单个字符com/t?st.jsp // 可以匹配com目录下的tast.jsp、test.jsp ...
*
匹配零个或多个字符com/*.jsp // 可以匹配com目录下的所有jsp文件
**
匹配路径中的零个或多个目录com/**/*.jsp // 可以匹配 以com开头的所有目录下的jsp文件
{var:reg}
匹配 满足正则表达的路径,将匹配的路径赋予var变量var 路径变量名 | reg 正则表达式
com/{var:[0-9]} // 可以匹配 com目录下的 0/、1/ ... 即 com/0/、com/1/ ... com/{[0-9]} // 同上
最长匹配原则
如果要匹配:/home/blog/add.jsp
使用了两种匹配模式:
/**/*.jsp
/home/blog/*.jsp
会使用2去匹配
public class test {
public static void main(String[] args) {
AntPathMatcher ant = new AntPathMatcher();
System.out.println(ant.match("/com/**", "/com/aa/b.java"));
System.out.println(ant.match("/com/{var:[0-9]}", "/com/1"));
System.out.println(ant.match("/com/{[0-9]}", "/com/1"));
System.out.println(ant.match("/com/[0-9]", "/com/1"));
}
}