Maven - 文件包含/排除正则表达式语法规则

Din*_*nuk 3 regex maven

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

考虑下面的代码片段 - 特别是两个<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>
Run Code Online (Sandbox Code Playgroud)

是否有关于详尽规则列表的文档?我找不到关于此特定语法的任何内容(除了提供的示例之外)。相反,我被迫依赖试验和错误(而不是具体的理解和推理)。

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

bee*_*jay 5

这些是Ant 模式

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

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

...

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