2012-12-07 36 views
0

我有以下字符串作为输入调度文件ANT:注册正则表达式的物业正则表达式提取斜线之间的内容

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”中提取字符串。

一些输入将有帮助

+0

你对调度器有什么了解?它总是从v80开始的吗?它总是存在于测试用例目录中吗?完整的目录总是一样的吗?该目录是否在另一个Ant属性中?这个答案将允许创建一个不太冒险的正则表达式。 –

+0

是的调度程序始终以v80开头。在v80-WM之后,目录结构改变。目录结构是从v80-wm递归读取的。 –

回答

0

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

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

这意味着什么:

  • ^*匹配任何东西,直到你到达*插入符号是不是真的有必要,但我喜欢做的REG EXP更为严格)
  • V80-WM = *再搭配其他

的括号包括V80-WM名和来之后,这样你就不必重建它的一切。