私は一日中これに頭をぶつけてきました。シェルコマンドの実行からキャプチャした文字列があり、その文字列を解析してファイルのパスを引き出す必要があります。そのファイルをコピーしようとするまで、私が持っているものは問題なく動作します...私が使用している正規表現は、パスの前に1つの空白文字を残していると思います。これは、後であらゆる種類の問題を引き起こします。
入力文字列のサンプルを次に示します。[echo]P4anthave output = //perforce/dir1/dir2/dir3/dir4/dir5/dir6/dir7 /p4ant/p4ant-2010.1.293250.jar#1-C:\ dir1 \ dir2 \ dir3 \ dir4 \ dir5 \ dir6 \ dir7 \ dir8 \ dir9 \ p4ant \ p4ant-2010.1.293250.jar
そして、それを解析すると、次のようになります。[echo] P4ant local path = C:\ dir1 \ dir2 \ dir3 \ dir4 \ dir5 \ dir6 \ dir7 \ dir8 \ dir9 \ p4ant \ p4ant-2010.1.293250.jar
これは問題ないように見えますが、そこには余分なスペースがあります。私はそれを取り除くことができないようです。これが私が使用しているコードです:
<propertyregex property="p4ant.local.path"
input="${p4ant.have.output}"
regexp="([^-][^ ]+?)$"
select="\0"
casesensitive="false"
/>
「ダッシュスペース」の組み合わせを検索しています。出力にダッシュが含まれていませんが、何らかの理由でスペースが含まれています。
私はここで何が間違っているのですか?ありがとう!