我正在尝试在 match 任务的帮助下处理/跳过任务。但我得到“误报”,当我认为它应该返回假时,匹配返回真。
正在使用以下代码:
<property name="moduleList" value="AP|MR"/>
<echo message="ModuleList is ${moduleList}" />
...some for loop here...
<echo message="Found ${zipFilename}" />
<if>
<matches pattern="${moduleList}" string="${zipFilename}" />
<then>
<echo message="Creating ${zipFilename}" />
</then>
<else>
<echo message="Skipping ${zipFilename}" />
</else>
</if>
zipfileName 是通过遍历文件夹并获取文件的基本名称来确定的,遇到的 zipfileNames 是 AP、MR 和 VAP
。这段代码的结果是:
[echo] ModuleList is AP|MR
[echo] Found AP
[echo] Creating AP
[echo] Found MR
[echo] Creating MR
[echo] Found VAP
[echo] Creating VAP
[echo] Found eFormsPolicy
[echo] Skipping eFormsPolicy
所以在我看来,VAP 是误报。
还是我的比赛有问题?
AFAIK ant.regexp.regexpimpl 未设置,因此 ant 使用 Jdk14Regexp 实现