我正在使用正则表达式搜索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)
-GET
或POST
.*
-除换行符外的任何零个或多个字符尽可能多,然后是空格([1-9]d{3,}(?:.d+)?)
-组1:一个非零数字,然后是三个或更多的数字,然后是.
的可选序列,然后是一个或多个数字s
- a空白ms
-ms
string$
-字符串结束