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

72l*_*ons 7 regex apache ant

我有以下块以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-->
Run Code Online (Sandbox Code Playgroud)

我创建了一个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>
Run Code Online (Sandbox Code Playgroud)

Fai*_*Dev 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>
Run Code Online (Sandbox Code Playgroud)