gpt4 book ai didi

java - 使用匹配器和模式分割 fillePath 和文件名

转载 作者:行者123 更新时间:2023-11-30 06:55:02 27 4
gpt4 key购买 nike

嗨,我想根据给定的字符串值对文件路径和文件名进行分组。

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

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

我尝试使用 (.*?)?(\\/.+) 但它第一次出现“/”。有哪位 friend 可以帮帮我吗?

实际上我想要解析日志文件数据,我已经完成了 80%。即

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

最佳答案

由于您正在解析日志行并且需要匹配的数据几乎占据整行,因此可以使用贪婪点匹配模式。

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

请参阅regex demo

这里,

  • ^ - 字符串/行开头
  • (\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+(.+)/(.+)

参见this regex demo

关于java - 使用匹配器和模式分割 fillePath 和文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42012514/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com