regex - 使用 "rex"的 Splunk 查询失败,错误在 'SearchParser' : Missing a search command before '^' on REST API

标签 regex api rest splunk

splunk 新手。

这个查询通过 UI 运行得很好:

index=serverlogs* WEB_URL=/someurl/* | rex ".*\?(?<GETQUERY>[^ ]+)" | search GETQUERY=*.jpg | top 20 REFERER

我正在尝试将其应用于 REST API,但每个 rex 都失败并发回: “SearchParser”中的错误:在“^”之前缺少搜索命令

它总是发回方括号 [] 中的任何特殊字符。 有没有办法在我的正则表达式中使用括号在 API 上使用“rex”?或者能够使用正则表达式即时提取字段?

这是我的查询:

curl -k https://myhost:8089/servicesNS/-/search/search/jobs/export -u user:passwd -d search="search index%3Dserverlogs* WEB_URL%3D/someurl/* | rex \".*\%3F(%3F<GETQUERY>[^ ]+)\" | search GETQUERY%3D*.jpg | top 20 REFERER" -d earliest_time="-10m" -d latest_time="now" -d output_mode="csv" > output.csv

有什么建议吗?

最佳答案

你必须在 rex 中转义你的方括号(尽管通常不是这样)。

rex ".*\?(?<GETQUERY>\[^ \]+)"

关于regex - 使用 "rex"的 Splunk 查询失败,错误在 'SearchParser' : Missing a search command before '^' on REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20083473/

相关文章:

java - Java 中以数字开头,然后是点和逗号的字符串

javascript - 如何像数组一样访问 match/matchAll 组?

api - 带有自定义图钉的 bing map api 静态 map 图像

r - R 中使用 Twitter Streaming API 进行 Oauth(使用 RCurl)

ios - 我的返回数据表单 AFNetworking JSON 未正确显示

php - 如何使用 PHP 查找特定字符

java - 正则表达式禁止访问父目录 - java

node.js - 为什么后续的 HTTP 请求

java - Hazelcasl Rest API 二进制对象

android - 为 Rest 客户端设置 Json 内容类型