-1

给定下面的字符串:

"oxcCFC/video.mp4 "GET /accounts/6/videos/xboxcCFC/video.mp4 HTTP/1.1" 206 - 2 697898511 56 56 "-""

我将如何创建一个正则表达式,首先找到“HTTP”,然后找到“-”,然后捕获序列中出现的下一个单独的数字或连续数字?

我正在尝试使用 rubular,但时间很长。

4

3 回答 3

1

没有太多的事情要做,但我认为应该是这样的:

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

然后,反向引用将保存您所追求的值。

于 2012-11-30T00:49:53.223 回答
0

我想看看你是否可以使用 apachelogregex gem... http://rubydoc.info/gems/apachelogregex/0.1.0/frames

于 2012-11-30T00:41:34.587 回答
0

简短的回答:/HTTP[^-]*-([\d\s]+)/ 然后,调用split结果。

此正则表达式转换为:

“HTTP”,后跟任意数量的非连字符,然后是连字符,然后是仅由数字和空格组成的最大字符串。

于 2012-11-30T00:54:01.740 回答