如何使用Nant/Ant命名模式?

ber*_*rko 93 ant nant

我必须承认,我总是忘记Nant命名模式的语法内部(例如文件集中使用的那些).在我看来,双星号/单星号的东西似乎是非常容易忘记的.

有人可以提供命名模式的权威指南吗?

ben*_*ado 229

规则是:

  • 单个星号(*)匹配路径名中的零个或多个字符
  • 双星(**)在目录级别匹配零个或多个字符
  • 问号(?)恰好匹配路径名中的一个字符

考虑它的另一种方法是双星(**)匹配斜线(/)但单星(*)不匹配.

假设你有这些文件:

  1. 跳回到bar.txt
  2. SRC/bar.c
  3. SRC/baz.c
  4. 的src /测试/ bartest.c

然后是模式:

  • *.c             什么都不匹配(当前目录中没有.c文件)
  • src/*.c     比赛2和3
  • */*.c         匹配2和3(因为*只匹配一个级别)
  • **/*.c       匹配2,3和4(因为**匹配任意数量的级别)
  • bar.*         比赛1
  • **/bar.*   匹配1和2
  • **/bar*.* 匹配1,2和4
  • src/ba?.c 比赛2和3    

  • 我认为这是一个比Nant参考更好的解释.干杯! (4认同)
  • `**.c` 会匹配什么? (3认同)
  • 我不再使用Ant了,所以我不能回答后续问题.你应该问一个新问题,或者更好的是找到答案,然后提交一个编辑到我的答案. (3认同)

spa*_*lug 16

这里有一些额外的模式匹配,这些匹配在文档中并不那么明显.在benzado的答案中使用NAnt测试示例文件:

  • src**                      比赛2,3和4
  • **.c                        匹配2,3和4
  • **ar.*                    匹配1和2
  • **/bartest.c/**  比赛4
  • src/ba?.c/**        比赛2和3

  • 小注意:使用ant(1.8.2)\**.c不能代替\**/\*.c (2认同)

小智 6

双星号 ( **) 与文件夹名称匹配相关联,而单符号星号 ( * = multi characters) 以及问号 ( ? = single character) 用于匹配文件名称。