当我添加
<linecontainsregexp negate="true">
<regexp pattern="src="http://*"/>
</linecontainsregexp>
在
<replaceregexp>
任务中,出现错误replaceregexp doesn't support the nested "linecontainsregexp" element.
最佳答案
<linecontainsregexp>
仅在<filterchain>
内部有效。反过来,任务<filterchain>
不支持<replaceregexp>
。仅受任务支持<replaceregexp>
通常在复制文件后应用。执行复制时将应用<filterchain>
。
基本上,您有2种选择:
使用更复杂的正则表达式修改您的<replaceregexp>
任务,该正则表达式仅匹配您想要的内容,可能是借助环顾四周。
将<filterchain>
添加到要用于从源管理系统复制这些文件的<copy>
或<move>
任务。包括过滤器<tokenfilter>
,最有可能带有子级<filetokenizer/>
,并根据需要包括子级<containsregex>
和<replaceregex>
。这更加灵活。有数十种过滤器和标记器可供选择。
关于java - 在Ant构建中使用linecontainsregexp的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18462129/