在Ant replaceregexp任务中匹配多个模式

时间:2013-08-27 08:56:46

标签: java regex eclipse ant build

我的Ant构建脚本中有一个任务,用于将src属性的参数添加到jsp文件中的所有<script>标记。

       <replaceregexp flags="gi">               
            <fileset dir="${build.web.dir}/WEB-INF/jsp" >   
                <filename name="*.jsp"/>
            </fileset>                  
            <regexp pattern=".js&quot;>"/>
            <substitution expression=".js?param=${pValue}&quot;>"/>         
        </replaceregexp>

我想将此扩展到所有jsps中href个标记的所有<link rel="stylesheet">属性。当我尝试添加一个<regexp>作为

<regexp pattern=".css&quot;>"/>
    <substitution expression=".css?param=${pValue}&quot;>"/>

在同一<replaceregexp>,我收到错误 Only one regular expression is allowed. 如何在不使用多个<replaceregexp>块的情况下执行此操作?

1 个答案:

答案 0 :(得分:3)

您可以在一个表达式中执行此操作:

  <regexp pattern=".(js|css)&quot;>"/>
    <substitution expression=".\1?param=${pValue}&quot;>"/>         

匹配捕获组中的js或css,并在替换中使用捕获的值。