我必须承认,我总是忘记Nant命名模式的语法内部(例如文件集中使用的那些).在我看来,双星号/单星号的东西似乎是非常容易忘记的.
有人可以提供命名模式的权威指南吗?
规则是:
单个星号(*)匹配路径名中的零个或多个字符
双星(**)在目录级别匹配零个或多个字符
问号(?)恰好匹配路径名中的一个字符
考虑它的另一种方法是双星(**)匹配斜线(/)但单星(*)不匹配.
假设你有这些文件:
跳回到bar.txt
SRC/bar.c
SRC/baz.c
的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
这里有一些额外的模式匹配,这些匹配在文档中并不那么明显.在benzado的答案中使用NAnt测试示例文件:
src**
比赛2,3和4
**.c
匹配2,3和4
**ar.*
匹配1和2
**/bartest.c/**
比赛4
src/ba?.c/**
比赛2和3