gpt4 book ai didi

java - 在 Scala 中使用正则表达式从服务器日志字符串中提取路径

转载 作者:行者123 更新时间:2023-11-30 10:02:19 24 4
gpt4 key购买 nike

我有一些如下的日志

endeavor.fujitsu.co.jp - - [10/Jul/1995:00:00:15 -0400] "GET /images/ HTTP/1.0" 200 17688                                   
ad13-022.compuserve.com - - [10/Jul/1995:00:00:15 -0400] "GET /history/gemini/gemini-spacecraft.txt HTTP/1.0" 200 651
pm2-15.magicnet.net - - [10/Jul/1995:00:00:15 -0400] "GET /images/launch-logo.gif HTTP/1.0" 200 1713
204.239.199.40 - - [10/Jul/1995:00:00:16 -0400] "GET /shuttle/missions/sts-71/images/KSC-95EC-0613.gif HTTP/1.0" 200 45970
pm1-4.tricon.net - - [10/Jul/1995:00:00:17 -0400] "GET /images/WORLD-logosmall.gif HTTP/1.0" 200 669
scorpio.digex.net - - [10/Jul/1995:00:00:19 -0400] "GET /history/mercury/mr-3/mr-3.html HTTP/1.0" 200 1124

我需要从上述日志中提取路径。这是我试过的代码

val pattern = "\\s+([^\\s]+)\\s+HTTP".r
val match = pattern.findFirstIn(log)

这是我得到的输出。

/images/ HTTP
/history/gemini/gemini-spacecraft.txt HTTP
/images/launch-logo.gif HTTP
/shuttle/missions/sts-71/images/KSC-95EC-0613.gif HTTP
/images/WORLD-logosmall.gif HTTP
/history/mercury/mr-3/mr-3.html HTTP

如何去除上述路径中的 HTTP?

最佳答案

你的比赛在第一个捕获组中,

或者你可以使用积极的前瞻

\\s+[^\\s]+(?=\\s+HTTP)

Demo

enter image description here

关于java - 在 Scala 中使用正则表达式从服务器日志字符串中提取路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56995462/

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