Logstash grok 正则表达式模式匹配任意数量的字符

Logstash grok 正则表达式模式匹配任意数量的字符

我正在寻找一种可以捕捉n字符数。例如,我想在单个字段中捕获以下内容,该字段的长度为 17 个字符:

12/30/16 04:40 PM

我尝试使用 grok 调试器进行以下操作,但似乎不起作用:

 (?<some_id>\[.\]{17})

谢谢,新年快乐

答案1

反斜杠转义字符,这意味着它们将按字面意思处理,此处:\[被视为左括号,而不是字符类的开头。在给定的示例中,左括号 [ 不是输入字符串的一部分,因此不会发生匹配。

我稍微修改了你的模式并进行了测试:https://grokdebug.herokuapp.com/

(?<some_id>.{17})

输出:

{
  "some_id": [
    [
      "12/30/16 04:40 PM"
    ]
  ]
}

相关内容