【问题标题】:Extract filelocation from a sentence从句子中提取文件位置
【发布时间】:2014-10-01 00:34:32
【问题描述】:

输入正在从控制台读取并存储在字符串中,试图制作模式以获取文件路径以及 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,但我对正则表达式不是很熟悉。

任何帮助/建议表示赞赏

【问题讨论】:

    标签: java regex


    【解决方案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!

    【讨论】:

    • 在 Eclipse 中使用你的模式说语法无效,在用 ^(.+\\/)(\\w+)\\.(\\w+)$ 修改后它不起作用。
    • 对我来说很好用,多年来一直在生产系统中使用它,它不起作用没有任何意义
    • @Ankit 日食说什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 2014-03-11
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 2010-12-28
    • 2021-05-30
    相关资源
    最近更新 更多