我的Ant构建脚本中有一个任务,用于向jsp文件中的所有src标记的<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>块的情况下执行此操作?

最佳答案

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

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


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

关于java - 在Ant replaceregexp任务中匹配多个模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18461120/

10-09 03:26