ANT атрибут в регулярном выражении - PullRequest
0 голосов
/ 17 февраля 2011

Я пишу служебный макрос, который включает проверку, содержит ли список через запятую list конкретное значение или нет value.

<macrodef name="csvcontains">
    <attribute name="value"/>
    <attribute name="list"/>
    <attribute name="casesensitive" default="false"/>
    <sequential>
    <condition property="matched" else="false">
        <matches string="@{list}" pattern="TODO" casesensitive="@{casesensitive}"/>
    </condition>
    </sequential>
</macrodef>

Я не могу получить правильный шаблон, потому что яЯ не уверен, как избежать @{value} (и соответствовать шаблону, разделенному запятыми).

Как построить шаблон?

Спасибо

Ответы [ 2 ]

1 голос
/ 17 февраля 2011

Вы пробовали?Насколько я понимаю, ant разрешает все переменные на первом шаге, поэтому вам, вероятно, не нужно экранировать @{value}

0 голосов
/ 15 октября 2014

Я думаю, что ваша проблема в том, что @ и {что-то значат в регулярных выражениях. Вы можете обойти это, встроив свое регулярное выражение в свойство, а затем передать новое свойство в свой атрибут pattern. Он пример:

<property name="versioning.official.build"
          value="The Daily Build"
          />
<property name="dollar.signs.mean.something.in.regexes"
          value="^${versioning.official.build}_\d"
          />
<condition property="versioning.checkin">
    <matches string="${versioning.build.name}"
             pattern="${dollar.signs.mean.something.in.regexes}"
             />
</condition>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...