【发布时间】:2017-05-05 14:38:21
【问题描述】:
我有以下日志,需要使用 regex(pcre) 提取时间、主机名
2017-05-05T13:03:10.004595+00:00 VMware ESX 部分,abc.hostname.co.uk Vpxa:[fcec63d0] info 'commonvpxLro' opID=host@127454-101-20] [VpxLRO] -- FINISH task-internal-3548957 --- -- vmod1.query.PropertyCollector.Filter.destroy --
2017-05-05T13:04:10.7568945+00:00 abc.hostname.co.uk, Vpxa: [fcec63d0] info 'commonvpxLro' opID=host@89459-13-20] [VpxLRO] -- 完成任务-internal-3548957 --- -- vmod1.query.PropertyCollector.Filter.destroy --
2017-05-05T13:05:10.785895+00:00 VMware ESX 部分,abc.hostname.co.uk Vpxa:[fcec63d0] info 'commonvpxLro' opID=host@12748-101-20] [VpxLRO] -- FINISH task-internal-3548957 --- -- vmod1.query.PropertyCollector.Filter.destroy --
2017-05-05T13:13:11.986532+00:00 VMware ESX 部分,abc.hostname.co.uk Vpxa:[fcec63d0] info 'commonvpxLro' opID=host@12748-101-20] [VpxLRO] -- FINISH task-internal-3548957 --- -- vmod1.query.PropertyCollector.Filter.destroy --
例如:时间戳=2017-05-05T13:13:11.986532+00:00 hostname=abc.hostname.co.uk 我需要使用单个正则表达式从上述 4 个日志中提取。这里棘手的部分是添加时间戳“VMware ESX 部分”之后的每个备用日志。有人告诉我可以对它进行分组,例如时间戳作为一个捕获组,下一组是主机名。我能够编写一个用于捕获时间戳的正则表达式,但是如何为主机名创建一个捕获组?
【问题讨论】:
-
分享你的尝试.
标签: regex capturing-group