2013-04-17 46 views
0

我試圖創建一個支持var替代動態的ant構建目標。Ant PropertyRegex在屬性中不支持捕獲組

<target name="replace_property" depends="init_ant_contrib"> 
    <propertyregex input="${replace_inboundproperty" 
     property="${replace_outboundproperty}" 
     regex="${replace_match}" 
     replace="${replace_target}" 
     global="true" 
     override="true" /> 
</target> 

所以我加載屬性文件和我基本上設置VARS這樣:

replace_inboundproperty="/target/path/targetfile" 
replace_outboundproperty=blah 
replace_match="/target/(.*)/targetfile" 
replace_target="\1" 

所以當我回聲嗒嗒,我發現了「1」。現在,如果我真的這樣做:

<target name="replace_property" depends="init_ant_contrib"> 
    <propertyregex input="${replace_inboundproperty" 
     property="${replace_outboundproperty}" 
     regex="${replace_match}" 
     replace="\1" 
     global="true" 
     override="true" /> 
</target> 

和回聲等等,我會得到「路徑」。

任何人都可以告訴我我缺少什麼允許替換使用屬性文件/ ant -D中的捕獲組嗎?使用ant-contrib 1.0b3。

謝謝!

回答

0

發現,在屬性文件中,如果您雙擊逃避它,它會正常工作:

replace_target=\\1