#regex #apache #ant
#регулярное выражение #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-->
Я создал задачу ant, которая находит все между <!--source scripts--><!--end source scripts-->
и заменяет его новым файлом сценария (в данном случае min.js ), но мне трудно заставить это работать.
Это то, что я делал до сих пор:
<target name="update-source-with-new-compiled-files">
<replaceregexp match="amp;<!--source scripts--amp;>(.*?)amp;<!--end source scripts--amp;>" replace="amp;<script src='min.js'amp;>amp;</scriptamp;>" flags="g">
<fileset dir="${basedir}/../dist" includes="*"/>
</replaceregexp>
</target>
Ответ №1:
Просто добавьте флаг s к своим флагам :
<replaceregexp match="amp;<!--source scripts--amp;>(.*?)amp;<!--end source scripts--amp;>" replace="amp;<script src='min.js'amp;>amp;</scriptamp;>" flags="gs">
<fileset dir="${basedir}/../dist" includes="*"/>
</replaceregexp>