Regex 如何在Ant中获得正则表达式匹配的布尔结果?

Regex 如何在Ant中获得正则表达式匹配的布尔结果?,regex,ant,Regex,Ant,在Ant中,是否有一种方法可以只使用正则表达式在文件中搜索一行,并在匹配与否时获得布尔结果 我想在日志文件中查找错误行。如果错误行存在,我想执行一些附加步骤 在最坏的情况下,我可以使用,但如果Ant有办法的话,我想避免使用。在Ant文档中搜索了一些内容后,我找到了一种解决方法。获取与正则表达式匹配的文件的长度。如果大于0,则执行额外步骤 <if> <length when="greater" length="0"> <fileset file="${bu

在Ant中,是否有一种方法可以只使用正则表达式在文件中搜索一行,并在匹配与否时获得布尔结果

我想在日志文件中查找错误行。如果错误行存在,我想执行一些附加步骤


在最坏的情况下,我可以使用,但如果Ant有办法的话,我想避免使用。

在Ant文档中搜索了一些内容后,我找到了一种解决方法。获取与正则表达式匹配的文件的长度。如果大于0,则执行额外步骤

<if>
  <length when="greater" length="0">
    <fileset file="${build.log}">
      <containsregexp expression="\[java\].*error"/>
    </fileset>
  </length>
  <then>
    <!-- perform additional steps -->
  </then>
</if>


我发现Ant有一个,但无法使用它,因为我正在使用Ant 1.6.5。

要使用if标记,在我的情况下,您需要使用下面的taskdef:

<taskdef resource="net/sf/antcontrib/antcontrib.properties">
        <classpath>
            <pathelement location="./ant-contrib.jar"/>
        </classpath>
    </taskdef>