正则表达式清理日志

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式清理日志相关的知识,希望对你有一定的参考价值。

字段提取中正则表达式的使用:
提取日志中的信息格式:(?<字段名称>匹配具体信息的正则表达式)

日志样例:
<78> 2019-08-21T17:10:01.461970+08:00 localhost CROND: (root) CMD (/usr/lib64/sa/sa1 1 1)

正则表达式
\<(?<prl>\d+)\>\s+(?<timestamp>\S+)\s+(?<hostname>\S+)\s+(?<type>\S+)\s+(?<message>.*)

提取出78 时间信息 localhost CROND. 后面的信息合并
默认是以空格为分割符

提取78: \<(?<ptl>\d+)\>. \d:数字。 +:代表前面部分重复一个或者多次
匹配空格 \s+ 匹配多个空格,\s 任何空白字符,空格,制表,换页符等
提取时间:(?<\S+>) \S 与\s相反
提取主机名:(?<hostname>\w+) \w 包括下划线和任务单词数字 \W 与\w相反
提取type:(?<type>\S+)
最后信息一起合并:(?<message>.) . : 合并到行尾

拆分结果:

hostname:"localhost"

message:"(root) CMD (/usr/lib64/sa/sa1 1 1)"

prl:"78"

timestamp:"2019-08-21T17:10:01.461970+08:00"

type:"CROND:"

raw_message:"<78> 2019-08-21T17:10:01.461970+08:00 localhost CROND: (root) CMD (/usr/lib64/sa/sa1 1 1)"

以上是关于正则表达式清理日志的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式?清理数据的神器

PHP 使用正则表达式清理Word HTML

Javascript 清理 URL 正则表达式

没有标记就不能清理网络爬虫吗?用正则表达式是否不能让它干净?

在 Pyspark 中按顺序应用多个正则表达式进行文本清理的最快方法

正则表达式过滤日志