我正在处理ELK堆栈,作为Logstash数据转换的一部分,我正在转换Apache访问日志中的数据。
需要的一个指标是获取不同内容类型的统计信息(aspx,php,gif等)。
从日志文件中我尝试检索请求网址然后推断出文件类型,因为ex /c/dataservices/online.jsp?callBack
是请求,我会使用正则表达式.aspx
\.\w{3,4}
。
我的正则表达式不适用于请求说/etc/designs/design/libs.min.1253.css
这会将.min
作为扩展名返回给我。
我正在尝试获得最后一次扩展,但它无效。请建议其他方法。
答案 0 :(得分:3)
答案 1 :(得分:1)
你需要一个更有风扇的正则表达式。
试试这个。
([/.\w]+)([.][\w]+)([?][\w./=]+)?
这使用三个捕获组。第一个([/.\w]+)
与您的路径匹配,直到最后.
第二个([.][\w]+)
与最终扩展名匹配,您可以使用捕获组来读取它。
第三个([?][\w./=]+)?
匹配查询字符串,这是可选的。