簡體   English   中英

使用匹配器和模式拆分 fillePath 和文件名

[英]Split fillePath and filename using matcher and pattern

嗨,我想根據給定的字符串值對文件路徑和文件名進行分組。

例如com/abc/chilkatsoft/CkEmail1$.class

filePath = com/abc/chilkatsoft
fileName = CkEmail1$.class

我試過(.*?)?(\\\\/.+)但它第一次出現“/”。 任何朋友都可以幫我解決這個問題。

實際上我想解析我已經完成了 80% 的日志文件數據。 IE

45013 Thu Aug 15 19:42:38 IST 2013 com/chilkatsoft/CkEmail.class

由於您正在解析日志行,並且您需要匹配的數據幾乎占據了整行,因此可以使用貪婪的點匹配模式。

^(\d+)\s+(.*)\s+(.+)/(.+)

查看正則表達式演示

這里,

  • ^ - 字符串/行開始
  • (\\d+) - 第 1 組捕獲 1 個或多個數字
  • \\s+ - 1+ 個空格(如果使用多行修飾符,則替換為常規空格)
  • (.*) - 第 2 組捕獲整個行的其余部分直到最后的空格
  • \\s - 一個空白字符
  • (.+) - 任何 0+ 個字符直到最后一個/
  • / - 斜線
  • (.+) - 該行的其余部分。

為了使模式更明確,拼出里面的模式:

^(\d+)\s+([a-zA-Z0-9\s]+\d{2}:\d{2}:\d{2}\s+[A-Za-z]+\s+\d{4})\s+(.+)/(.+)

看到這個正則表達式演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM