蚂蚁路径样式模式

蚂蚁路径样式模式的规则是什么。

令人惊讶的是,Ant 站点本身没有提供任何信息。

123598 次浏览

我想你指的是如何使用 路径模式

如果是关于是否使用斜杠或反斜杠,这些将被转换为在执行时使用的平台上的路径分隔符。

中匹配的 Ant 风格路径模式:

映射使用以下规则匹配 URL:

  • ?匹配一个字符
  • *匹配零个或多个字符
  • **匹配路径中的零个或多个“目录”
  • {spring:[a-z]+}匹配 regexp [a-z]+作为名为“ spring”的路径变量

一些例子:

  • com/t?st.jsp-匹配 com/test.jsp,也匹配 com/tast.jspcom/txst.jsp
  • com/*.jsp-匹配 com目录中的所有 .jsp文件
  • com/**/test.jsp-匹配 com路径下的所有 test.jsp文件
  • org/springframework/**/*.jsp-匹配 org/springframework path下面的所有 .jsp文件
  • org/**/servlet/bla.jsp-匹配 org/springframework/servlet/bla.jsp但也匹配 org/springframework/testing/servlet/bla.jsporg/servlet/bla.jsp
  • com/{filename:\\w+}.jsp将匹配 com/test.jsp并将值 test赋给 filename变量

Http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/antpathmatcher.html

蚂蚁样式模式匹配器

通配符

该实用程序使用三种不同的通配符。

+----------+-----------------------------------+
| Wildcard |            Description            |
+----------+-----------------------------------+
| *        | Matches zero or more characters.  |
| ?        | Matches exactly one character.    |
| **       | Matches zero or more directories. |
+----------+-----------------------------------+

正如@user11153所提到的,Spring 的 AntPathMatcher实现并记录了 Ant 风格的路径模式匹配的基础知识。

此外,Java7的 nio API 通过 GetPathMatcher增加了一些内置的对基本模式匹配的支持

@user11153使用表格以获得更易于阅读的格式,获得最多支持的答案


映射使用以下规则匹配 URL:

+-----------------+---------------------------------------------------------+
| Wildcard        |            Description                                  |
+-----------------+---------------------------------------------------------+
| ?               | Matches exactly one character.                          |
| *               | Matches zero or more characters.                        |
| **              | Matches zero or more 'directories' in a path            |
| {spring:[a-z]+} | Matches regExp [a-z]+ as a path variable named "spring" |
+-----------------+---------------------------------------------------------+

一些例子:

+------------------------------+--------------------------------------------------------+
| Example                      | Matches:                                               |
+------------------------------+--------------------------------------------------------+
| com/t?st.jsp                 | com/test.jsp but also com/tast.jsp or com/txst.jsp     |
| com/*.jsp                    | All .jsp files in the com directory                    |
| com/**/test.jsp              | All test.jsp files underneath the com path             |
| org/springframework/**/*.jsp | All .jsp files underneath the org/springframework path |
| org/**/servlet/bla.jsp       | org/springframework/servlet/bla.jsp                    |
|                       also:  | org/springframework/testing/servlet/bla.jsp            |
|                       also:  | org/servlet/bla.jsp                                    |
| com/{filename:\\w+}.jsp      | com/test.jsp & assign value test to filename variable  |
+------------------------------+--------------------------------------------------------+