我对一些自动化使用詹金斯,我在那里有模式和DB信息存储像迭代通过ANT脚本哈希阵列
[schema1:db1, schema2:db2]
存储在Ant属性${schemaValue}
<propertycopy name="schemaValue" from="${SchemaVariable}"/>
现在的工作我我通过这个数组哈希试图循环执行的连接, 我试图与
<for param="theparam" list="${schemaValue}">
<sequential>
<echo message="param: @{theparam}"/>
</sequential>
</for>
但这认为${schemaValue}
作为字符串,而不是一个数组,
帮助。
编辑
至于建议由@ AR.3,我试图与
<propertyregex override="yes" property="paramValue" input="@{theparam}" regexp=".+:([^\]]+)]?" replace="\1"/>
<echo message="paramValue: ${paramValue}"/>
<propertyregex override="yes" property="paramKey" input="@{theparam}" regexp="[?([^\[]+):]" replace="\1"/>
<echo message="paramKey: ${paramKey}"/>
$ {} paramValue给我DB1和DB2正确
$ {} paramKey我抛出错误
- 是否有可能获得价值像schema1:db1,然后是sch2ma2:db2。因为我在这里接收动态模式名称和数据库名称。 – useranon
@Jasmine是的,只需修改上述正则表达式以满足您的需求。在这种情况下,您可以尝试'[?([^ \ [] +:[^ \]] +)]?'。 – manouti
我试过用“([^ \ [] + :)”来查找关键字$ {paramKey},但它不按预期方式呈现。 – useranon