Maven - 文件包含/排除regexp语法规则

时间:2015-04-12 16:15:43

标签: regex maven

我想了解更多关于Maven中使用的“正则表达式”[1]语法以及Ant,Grunt等其他构建工具。

考虑下面的代码段 - 特别是两个 <include> 指令来指定

  • 目录
  • 子目录
  • 文件名

包含/排除

 <project>
      ...
      <name>My Resources Plugin Practice Project</name>
      ...
      <build>
        ...
        <resources>
          <resource>
            <directory>src/my-resources</directory>
            <includes>
              <include>**/*.txt</include>
              <include>**/*.rtf</include>
            </includes>
          </resource>
          ...
        </resources>
        ...
      </build>
      ...
    </project>

是否有详尽的规则列表中有任何文档?在这个特定的语法上我找不到任何东西(除了提供的例子)。相反,我被迫依靠反复试验(而不是具体的理解和推理)。

脚注: 我在这里广义地说“正则表达”。这些语法规则似乎与Perl5 / 6正则表达式语法不兼容。所以,我假设它是一种不同的正则表达方言?

1 个答案:

答案 0 :(得分:2)

这些是Ant patterns

  

* .java匹配.java,x.java和FooBar.java,但不匹配FooBar.xml   (不以.java结尾)。

     

?. java匹配x.java,A.java,但不匹配.java或xyz.java(两者都不匹配)   在.java之前有一个字符。

     

...

     

当**用作模式中目录的名称时,它匹配零个或多个目录。