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