蚂蚁路径样式模式

Posted

技术标签:

【中文标题】蚂蚁路径样式模式【英文标题】:Ant path style patterns 【发布时间】:2011-02-26 11:43:27 【问题描述】:

的规则是什么。

Ant 网站本身信息量惊人地不足。

【问题讨论】:

也许这个答案也会有帮助***.com/q/40886239/355438 【参考方案1】:

spring-framework 中匹配的 Ant 样式路径模式:

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

? 匹配一个字符 * 匹配零个或多个字符 ** 匹配路径中的零个或多个“目录” spring:[a-z]+ 匹配正则表达式 [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

【讨论】:

有没有办法匹配一个蚂蚁表达式中的多个模式?像 /com/*, /com/**/test.jsp 在同一个表达式中? 这种模式 /WEB-INF/tiles-config/*-tiles-definition.xml 以 -tiles-definition.xml 结尾的所有文件对我不起作用,但同时 / WEB-INF/tiles-config/*.xml 有效。那么 * 匹配零个或多个字符是否正确? spring-framework-reference 中的解释很好地将其置于上下文中:https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-requestmapping-uri-templates。 @chrismarx 您的示例中的逗号分隔语法适用于 Jenkins create-zip-file 步骤,该步骤还使用 Ant 样式模式来指定其 glob。 此外,您可以使用*varname 匹配零个或多个目录并将其分配给varname 变量(尽管这似乎特定于Spring)【参考方案2】:

我猜你的意思是如何使用path patterns

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

【讨论】:

+1。另外,这里是如何从 Ant 手册导航到这部分文档:Table of Contents => "Concepts and Types" => [List of Types] left menu section => "Directory-based Tasks" => [模式] 页面部分.【参考方案3】:

ANT Style Pattern Matcher

通配符

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

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

【讨论】:

【参考方案4】:

最受欢迎的答案@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  |
+------------------------------+--------------------------------------------------------+

【讨论】:

【参考方案5】:

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

此外,Java 7 的 nio API 添加了一些通过FileSystem.getPathMatcher 对基本模式匹配的内置支持

【讨论】:

以上是关于蚂蚁路径样式模式的主要内容,如果未能解决你的问题,请参考以下文章

如何正确引用蚂蚁任务中的路径?

三维路径规划基于matlab蚁群算法三维路径规划含Matlab源码 179期

路径规划基于matlab GUI多种蚁群算法栅格地图路径规划含Matlab源码 650期

带有路径变量和蚂蚁匹配器的 Spring Security 自定义方法

路径规划基于matlab蚁群算法二维路径规划含Matlab源码 1131期

路径规划基于蚁群求解多旅行商MTSP问题matlab源码