从句子中提取文件位置

时间:2014-08-07 16:54:56

标签: java regex

正在从控制台读取输入并存储在字符串中,尝试使用pattern来获取文件路径以及filename.extension 如果不仅仅是filename.extension(没有路径也可以)

示例输入字符串:

[blah]: Destination folder is: part1/part2/part3/
[blah]: SP status: 
  .....
[blah]: moving fileNameNeeded.Extension to part1/part2/part3/fileNameNeeded.Extension
[blah]: moving done...
DC data collected at part1/part2/part3/fileNameNeeded.Extension
[blah]: Elapsed time 

尝试过模式:

Pattern regex = Pattern.compile("[^/.]+(?=\\.*?tar$)");

也尝试过:

Pattern regex = Pattern.compile("\\bDC data collected at.*?tar");

输出:

DC data collected at part1/part2/part3/fileNameNeeded.Extension

但也获得额外的输出(不想使用字符串拆分)。

我确实发过帖子:Extract part of a string from a URL - Java Regex但我对Regex并不是很熟悉。

任何帮助/建议表示赞赏

1 个答案:

答案 0 :(得分:1)

尝试以下

^(\/.+\/)*(.+)\.(.+)$

输入:/path/to/some/file.txt

1.  [0-14]  `/path/to/some/`
2.  [14-18] `file`
3.  [19-22] `txt`

Click here to see how it works and experiment!