Logstash Grok模式使用正则表达式来切割日志行中的字符串

时间:2016-03-10 14:32:07

标签: regex logstash-grok

以下是来自应用程序的日志行的一部分字段,其中包含我需要拆分的客户端ID属性值,分隔符'#'。

client-id=ABC-SYNC_Foo#qrkmguv4p995b3kqk1jaupocl2

这是我想要的方式

source=ABC-SYNC_Foo
id=qrkmguv4p995b3kqk1jaupocl2

我需要有关如何在一行内拆分它的正则表达式的帮助。

2 个答案:

答案 0 :(得分:3)

我建议使用

client-id=(?<source>[^#]*)#(?<id>.*)

请参阅regex demo

模式匹配:

  • client-id= - 文字字符序列client-id=
  • (?<source>[^#]*) - 小组&#34;来源&#34;匹配除#以外的零个或多个字符,直到第一个...
  • # - 文字哈希符号后跟......
  • (?<id>.*) - 除换行符之外的任何0个或多个字符(Group&#34; id&#34;)

答案 1 :(得分:-1)

感谢WiktorStribiżew=建议,为我工作。

这是正则表达式..

client-id=(?<source>[^#]*)#(?<id>.*)