Ant replaceregexp任务-匹配和替换HTML注释块

7
我有一个以下以HTML注释开始和结束的代码块:
    <!--source scripts-->
    <script type="text/javascript" src="/assets/js/namespaces.js"></script>
    <script type="text/javascript" src="/assets/js/main.js"></script>
    <script type="text/javascript" src="/assets/js/header.js"></script>
    <script type="text/javascript" src="/assets/js/headerPremiumForm.js"></script>
    <script type="text/javascript" src="/assets/js/bootstrap.js"></script>
    <!--end source scripts-->

我创建了一个Ant任务来查找<!--source scripts--><!--end source scripts-->之间的所有内容,并用一个新的脚本文件(在这种情况下min.js)替换它,但我无法使其工作。
到目前为止,我已经做了以下工作:
<target name="update-source-with-new-compiled-files">
    <replaceregexp match="\&lt;!--source scripts--\&gt;(.*?)\&lt;!--end source scripts--\&gt;" replace="\&lt;script src='min.js'\&gt;\&lt;/script\&gt;" flags="g">
        <fileset dir="${basedir}/../dist" includes="*"/>
    </replaceregexp>
</target>
1个回答

16

只需在您的标志中添加 s 标志:

<replaceregexp match="\&lt;!--source scripts--\&gt;(.*?)\&lt;!--end source scripts--\&gt;" replace="\&lt;script src='min.js'\&gt;\&lt;/script\&gt;" flags="gs">
        <fileset dir="${basedir}/../dist" includes="*"/>
</replaceregexp>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接