【问题标题】:Java. regex for parsing FTP server list爪哇。用于解析 FTP 服务器列表的正则表达式
【发布时间】:2012-07-22 18:41:08
【问题描述】:

我的正则表达式无法将 FTP 服务器列表过滤为文件/目录名称和大小。这是我目前正在使用的正则表达式 (?m)^.{20}\\s*(\\d+).{14}(.*)$
所以,用这个来过滤这个列表

drw-rw-rw- 1 ftp ftp                0 Mar 17 06:10 Tor Browser
-rw-rw-rw- 1 ftp ftp          1538814 Jun 26 00:23 setup.exe
-rw-rw-rw- 1 ftp ftp           142570 May 24 05:28 satellite A665-S6086.pdf


我会得到 Tor 浏览器,0 和 setup.exe,1538814
这是我真正想要的,但在这种格式的列表中

 -r-xr-xr-x  1 0  1001     4521014 May 23  2011 FileZilla_3.5.0_win32-setup.exenull
 dr-xr-xr-x  4 0  1001  1024 Mar  2 14:07 pubnull

我会得到类似的东西:2011 年 2 月 23 日 FileZilla_3.5.0_win32-setup.exe, 1 和 14:07 pub ,1。
有没有办法让这个正则表达式适用于这两种类型?
谢谢

【问题讨论】:

    标签: java regex ftp ftp-client


    【解决方案1】:

    我会使用以下内容:

    Pattern regex = Pattern.compile(
        "(\\d+)        # File size           \n" +
        "\\s+          # Whitespace          \n" +
        "\\w{3}        # Month (3 letters)   \n" +
        "\\s+          # Whitespace          \n" +
        "\\d{1,2}      # Day (1 or 2 digits) \n" +
        "\\s+          # Whitespace          \n" +
        "[\\d:]{4,5}   # Time or year        \n" +
        "\\s+          # Whitespace          \n" +
        "(.*)          # Filename            \n" +
        "$             # End of line", 
        Pattern.MULTILINE | Pattern.COMMENTS);
    

    【讨论】:

    • 像魅力一样工作。谢谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-12
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    相关资源
    最近更新 更多