我正在尝试创建一个动态支持var替换的ant构建目标。
<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 :(得分:0)
在属性文件中发现,如果你双重转义它,它将正常运行:
replace_target=\\1