我在myprop中定义了一些属性。属性文件的格式如下:
my.first.prop = D:/MyFolder/abc/expanded/myfile.txt
在我的ant目标中,我可以通过使用${my.first.prop}
表达式将该字符串用作属性。现在我想获得expanded
前的子字符串也就是D:/MyFolder/abc/
我如何在蚂蚁目标中做同样的事情?
解决方案:好了,经过一些尝试,下面的regexp给了我所需的输出-<target name="myTarget">
<propertyregex
property="first.part"
input="${my.first.prop}"
regexp="(.*)expanded(.*)$"
select="1"/>
<echo>${first.part}</echo>
</target>
然而,我想了解我写的正则表达式(.*)
表示什么以及为什么它在expanded
之前和之后。$
代表什么?
根据Ant Contrib PropertyRegex
任务:
对输入字符串执行正则表达式操作,并将结果设置为一个属性。可以执行两种不同的操作:
- Replacement -匹配的正则表达式被替换为替换模式
- Selection—通过选择表达式选择正则表达式中的分组。
选择表达式的语法与正则表达式替换模式相同。