私はantを使用して、ターゲットがカンマで区切られた2つのパラメータを、セミコロンで区切られた類似のパラメータのペアの長いリストで抽出する必要があるという要件があります。現在、私は次のようなことをしています:
<?xml version="1.0"?>
<project name="" basedir="." default="test" xmlns:ac="antlib:net.sf.antcontrib">
<target name="test" >
<echo message="Hey There I am using What's App" />
<ac:for list="asdfg,dasfdf;vxxexqxx,hyyypyly;dksfgsgdgf,abaifuacu" delimiter=";" param="val">
<ac:sequential>
<ac:propertyregex property="param1"
input="@{val}"
regexp="([^\.]*)\,.*"
select="\1"
casesensitive="true" />
<ac:propertyregex property="param2"
input="@{val}"
regexp=".*,([^\.]*)"
select="\1"
casesensitive="true" />
<echo message = "val = ${param1}"/>
<echo message = "value = ${param2}"/>
</ac:sequential>
</ac:for>
</target>
</project>
しかし、私は次のように出力を得ています:
Buildfile: /tmp/Manish/build.xml
test:
[echo] Hey There I am using What's App
[echo] val = asdfg
[echo] value = dasfdf
[echo] val = asdfg
[echo] value = dasfdf
[echo] val = asdfg
[echo] value = dasfdf
したがって、これは 3 回 (正しい) ループされますが、for ループ パラメーターで渡された最初の値のみによって行われます。私が犯している明らかな間違いはありますか?
ありがとう、マニッシュ・ジョシ