2013-08-27 58 views
0

我的Ant構建腳本中有一個任務,用於將參數添加到src屬性中,以將所有<script>標記添加到jsp文件中。在Ant中替換多個模式replaceregexp任務

 <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> 

我想這個擴展至所有的JSP標籤<link rel="stylesheet">所有href屬性。當我試圖在同一<replaceregexp>多加一個<regexp>作爲

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

,我得到錯誤 Only one regular expression is allowed. 我怎麼能做到這一點,而無需使用多個<replaceregexp>塊?

回答

2

可以在一個表達做到這一點:

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

哪個匹配JS或CSS中捕獲組和在替代使用所捕獲的值。

+0

通過這種方式是領先的。在旨在匹配'。'的模式中。字符?如果是這樣,它需要逃脫。 –

+0

它的工作原理!謝謝greg-449 – Shoreki