Logstash使用ruby和正则进行字符串处理

来源:互联网 发布:淘宝号可以不实名认证 编辑:程序博客网 时间:2024/05/22 13:26

在接ip-guard的数据时候,有一项MAC地址,需要在得到的MAC地址字段把每两个字符中间加上"-";由于使用Logstash接的,所以我在filter段直接使用ruby进行修改,下面是filter段:

filter{ruby{code => "event['message']=event['message'].gsub((/\w\w/),'\0-').chomp('-')"}}
逻辑很简单,用\w\w匹配到两个字符,并括号括起来作为第一个分组,用"\0-"得到第一个分组的内容(即两个字符)在加上横杠进行替换;最后再把末尾多余的"-"去掉,效果如下图: