我如何使用Nant / Ant命名模式?
我不得不承认,我总是忘记了Nant的命名模式的句法内部结构(例如文件集中使用的那些命名模式)。 双星号/单星号的东西似乎在我心中是非常遗忘的。
有人可以提供命名模式的明确指南吗?
规则是:
- 一个星号(*)匹配path名中的零个或多个字符
- 双星(**)匹配目录级别上的零个或多个字符
- 问号(?)恰好与path名中的一个字符匹配
另一种思考方式是双星(**)匹配斜线(/),但单星(*)不匹配。
假设你有这些文件:
- 跳回到bar.txt
- SRC / bar.c
- SRC / baz.c
- 的src /testing/ 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的答案中使用NAnttesting示例文件:
-
src**
匹配2,3和4 -
**.c
匹配2,3和4 -
**ar.*
匹配1和2 -
**/bartest.c/**
匹配4 -
src/ba?.c/**
匹配2和3
检查南特参考 。 文件集模式是:
'*'匹配零个或多个字符,例如* .cs
'?' 匹配一个字符,例如?.cs
和'**'匹配一个目录树,例如src / ** / *,cs会在src的任何子目录下find所有的cs文件。
双星号( **
)与文件夹名称匹配关联,而单个符号星号( * = multi characters
)以及问号( ? = single character
)用于匹配文件名称。