首页 > 解决方案 > 使用正则表达式拆分字符串

问题描述

我有一个 Splunk 查询,看起来像

100.100.100.1 - - [11/Oct/2019:17:49:47 +0000] "GET /someroute/rest/endpoint?param=2019-09-25 HTTP/1.1"

我真的很希望能够仅使用正则表达式将其分开,以便我可以得到

GET/someroute/rest/endpoint作为两个独立的组。忽略查询参数等所有内容。

标签: regexsplunk

解决方案


您可以使用此模式:

正则表达式:

^.*?(GET|POST).*?([\/\w]+)

演示: 这里

如果你想包含参数,你可以使用: Regex

^.*?(GET|POST).*?([\/\w]+)(\?param=([^\s]+))?

演示: 这里


推荐阅读