ant propertyregex: проблема с \ in путями - PullRequest
1 голос
/ 06 июля 2011

Когда я делаю что-то вроде этого:

<propertyregex input="${escaped.std}" regexp=".*[/\\]data[/\\](.*)" select="\1" property="relative.std"/>

где escaped.std это ex: c: \ test \ data \ subfolder1 \ subfolder2 возвращает subfolder1subfolder2 (путь без '\')

Я пытался изменить '\' на '\\', но он просто удалил '\\' из пути.

Где находитсяпроблема

Ответы [ 2 ]

2 голосов
/ 06 июля 2011

Попробуйте использовать последнюю версию ant-contrib.

Он отлично работает при использовании ant-contrib 1.0b2 (та же проблема возникает при использовании версии 0.6).

0 голосов
/ 07 июля 2011

Два решения
первое с antcontrib
второе с Flaka

<project xmlns:fl="antlib:it.haefelinger.flaka">
  <taskdef resource="net/sf/antcontrib/antlib.xml"/>

  <property name="escaped.std" value="c:\test\data\subfolder1\subfolder2"/>

  <!-- solution antcontrib-1.0b3.jar -->
  <propertyregex input="${escaped.std}" regexp=".:\\(\w+\\){2}(.+)" select="\2" property="relative.std_ac"/>

  <echo>$${relative.std_ac} => ${relative.std_ac}</echo>

  <!-- solution with Flaka -->
  <fl:let>
    relative.std_fl ::= replace(property['escaped.std'],'$2','.:\\\\(\\w+\\\\){2}(.+)')
  </fl:let>

  <echo>$${relative.std_fl} => ${relative.std_fl}</echo>
</project>

выход:

 [echo] ${relative.std_ac} => subfolder1\subfolder2
 [echo] ${relative.std_fl} => subfolder1\subfolder2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...