Logstash grok regex padrão correspondente ao número arbitrário de caracteres

0

Estou procurando um padrão de grok que capture n número de caracteres. Por exemplo, eu quero capturar o seguinte em um único campo, com 17 caracteres:

12/30/16 04:40 PM

Eu tentei usar o depurador grok com o seguinte, mas parece que não funcionou:

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

Obrigado e Feliz Ano Novo

    
por fswings 01.01.2017 / 17:22

1 resposta

1

A barra invertida escapa de caracteres, o que significa que eles são tratados literalmente, aqui: \[ é tratado como colchete de abertura e não como uma abertura para a classe de caractere. No exemplo dado, o colchete de abertura [não é parte da string de entrada, portanto, nenhuma correspondência ocorrerá.

Eu modifiquei ligeiramente o seu padrão e testei em: link

(?<some_id>.{17})

Saída:

{
  "some_id": [
    [
      "12/30/16 04:40 PM"
    ]
  ]
}
    
por 03.01.2017 / 11:00

Tags