Ant PropertyRegex在属性中不支持捕获组

时间:2013-04-17 07:57:06

标签: regex ant

我正在尝试创建一个动态支持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。

谢谢!

1 个答案:

答案 0 :(得分:0)

在属性文件中发现,如果你双重转义它,它将正常运行:

replace_target=\\1