额外的空白与ANT属性



我一整天都在为这件事绞尽脑汁。我有一个从运行shell命令中捕获的字符串,我需要解析该字符串并取出文件的路径。我所拥有的工作正常,直到我尝试复制该文件…我认为我使用的正则表达式是在路径的前面留下一个空白字符,这会导致各种各样的麻烦。

下面是一个输入字符串的示例:[echo] P4ant have output =//perforce/dir1/dir2/dir3/dir4/dir5/dir6/dir7/p4ant/p4ant-2010.1.293250.jar#1 - C:dir1dir2dir3dir4dir5dir6dir7 dir8 dir9 p4ant p4ant-2010.1.293250.jar

当我解析它时,我得到这个:[echo] P4ant本地路径= C:dir1dir2dir3dir4dir5dir6dir7 dir8 dir9 p4ant p4ant-2010.1.293250.jar

看起来不错,但是这里有一个额外的空间。我似乎无法摆脱它。下面是我使用的代码:

            <propertyregex property="p4ant.local.path"
                  input="${p4ant.have.output}"
                  regexp="([^-][^ ]+?)$"
                  select=""
                  casesensitive="false"
            />

我正在搜索"破折号空间"组合,它在输出中不包括破折号,但由于某种原因仍然包括空间。

我在这里做错了什么?谢谢!

-s <-- dash, followed by a whitespace
(.+?) <-- Anything, up to the next matching character
s  <-- whitespace
(.+)$  <-- Anything, up to the end

:
regexp="-s(.+?)s(.+)$"

然后连接$1和$2(对不起,不知道这在ANT中是如何工作的)

相关内容

  • 没有找到相关文章

最新更新