Antのrepraceで“(ダブルクォーテーション)を指定する方法

久々にはまりましたので、メモします。

antのreplaceタスクで置換対象文字列の抽出を正規表現で書いていたときのことです。

置換対象文字列に"(ダブルクォーテーション)が入っていたので、
↓のように「"」を「\"」としたのですが、eclipseに怒られてしまいました。。

<replaceregexp encoding="UTF-8" flags="g" replace="\[\0\]">
    <regexp pattern="\".*\""></regexp>
</replaceregexp>


で、いろいろ悩んだ結果「"」はアスキーコードで0x22なので、↓の用に書いたらいけました。

<replaceregexp encoding="UTF-8" flags="g" replace="\[\0\]">
    <regexp pattern="\x22.*\x22"></regexp>
</replaceregexp>



ちなみにreplaceregexpタグのreplace属性側に「\x22」を指定したところ「x22」と認識されてしまいました。
replaceregexpタグのreplace属性に設定する場合は、もう一工夫いるようでしたが、わかりませんでしたorz...

誰か知っている方、いらっしゃいましたら、コメントください。

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS

2 Response to "Antのrepraceで“(ダブルクォーテーション)を指定する方法"

  1. plampot says:
    2017年2月22日 11:26

    XMLのエスケープなので、少なくともreplace属性は"でリプレースすればよいと思います。

  2. plampot says:
    2017年2月22日 11:31

    変換されてしまいました。私が言いたかったのは&quot;です。

コメントを投稿