ANT:Reg regexp用于在属性regex中的斜杠之间提取内容

时间:2012-12-07 09:10:22

标签: ant ant-contrib

我有以下字符串作为调度程序文件的输入

Z:\cnt_development\cnt\test\Test-cases-blr\v80-WM\scheduler\FRQ\AUTO\sml-hr454\SRISM.xml
Z:\cnt_development\cnt\test\Test-cases-blr\v80-WM\scheduler\FRQ\AUTO\sml-lr454\Swap_MUL.xml
Z:\cnt_development\cnt\test\Test-cases-blr\v80-WM\scheduler\FRQ\AUTO\sml-lr456\Swap_MU.xml

我需要从v80-WM中提取完整的部分

即正则表达式必须能够选择以下字符串

v80-WM\scheduler\FRQ\AUTO\sml-hr454\SRISM.xml
v80-WM\scheduler\FRQ\AUTO\sml-lr454\Swap_MUL.xml
v80-WM\scheduler\FRQ\AUTO\sml-lr456\Swap_MU.xml

目前我正在使用以下正则表达式,其中正则表达式在上面的字符串中找到“Q”的最后一次出现并在那里修剪并使用workardoung来构造上述结果。

<echo message="runpART ... Scheduler File ${schedulerFile}"/>
    <propertyregex property="cfg.arg" input="${schedulerFile}" regexp="([^Q]*).xml"        select="\1"   casesensitive="false"/>

需要帮助从“v80-WM .... xml”中提取字符串。

有些输入会有帮助

1 个答案:

答案 0 :(得分:0)

那很好。 v80-WM为您提供了一个固定的“起点”

使用它作为正则表达式应该这样做。     ^。(V80-WM。

含义:

  • ^。*匹配任何东西,直到你到达*插入符号不是真的有必要,但我喜欢使reg exp更严格)
  • V80-WM =。*然后匹配其余的

parens包括v80-WM名称和之后的所有内容,因此您无需重新构建它。