使用正则表达式查找超过1000ms的请求日志



我正在使用正则表达式搜索Google Cloud Logs中超过1000ms的请求

下面是一些示例请求:

{
...
textPayload: "GET /getUser 200 - - 5380.879 ms",
...
}
{
...
textPayload: "GET /getUser 200 - - 34.879 ms",
...
}

下面是我使用的搜索:

textPayload =~ "^(GET)|(POST).*[1-9][0-9][0-9][0-9]|d{4,}(sms)$"

我只想返回以超过1000.000 ms的值结束的那个,但我的正则表达式似乎不起作用。我做错了什么?

你需要使用

textPayload =~ "^(?:GET|POST).* ([1-9]d{3,}(?:.d+)?)sms$"

参见regex演示。

细节:

  • ^-字符串
  • 起始
  • (?:GET|POST)-GETPOST
  • .*-除换行符外的任何零个或多个字符尽可能多,然后是空格
  • ([1-9]d{3,}(?:.d+)?)-组1:一个非零数字,然后是三个或更多的数字,然后是.的可选序列,然后是一个或多个数字
  • s- a空白
  • ms-msstring
  • $-字符串结束

最新更新