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

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

How do I use Nant/Ant naming patterns?

我不得不承认,我总是忘记了Nant命名模式的语法内在含义(例如,文件集中使用的那些)。 在我的脑海中,双星号/单星号的东西似乎很容易忘记。

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


规则是:

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

考虑它的另一种方法是双星(**)匹配斜杠(/),而单星(*)不匹配。

假设您有以下文件:

  • bar.txt
  • src / bar.c
  • src / baz.c
  • src / test / 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测试了benzado答案中的示例文件:

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

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


    查看Nant参考。文件集模式为:

    '*'匹配零个或多个字符,例如* .cs
    '?'匹配一个字符,例如?.cs

    并且'**'与目录树匹配,例如src / ** / *。cs将在src的任何子目录中找到所有cs文件。


    推荐阅读