您好,我正在尝试通过此标准从服务器日志中提取一些数据,GET
但在输出中我想从 [GET] 路径 [协议] 仅获取路径
正则表达式:
line.match(/[a-z0-9]*GET \s*([\/a-zA-Z]+)/)
修复.rb
...
GET /edu/languages/google
GET /edu/languages/google
GET /baz/img/techtalk
...
那么,需要删除 GET 部分......有什么建议吗?谢谢你
第一个提示,使用rubular.com。
简短的回答
res = line.match(/^GET(.*)/)[1]
含义:(如果需要)
^
表示匹配GET
字符串的开头()
表示在可恢复对象中捕获该部分的结果.*
意味着捕获一切,因为那是你所需要的。[1]
表示从匹配元素列表中获取第二项,0 是匹配的整个字符串。如果需要,在循环中迭代
您可以使用括号运算符选择所需的匹配数据
"GET /hello".match(/[a-z0-9]*GET \s*([\/a-zA-Z]+)/)[1]
=> "/hello"