正则表达式 if or else
Regex if or else
目前我的日志中有两种类型的行,使用正则表达式我想 select 一种类型和另一种类型我需要丢弃。
如果我得到一个日志行,主机名在时间戳之后,那么我想 select 它。
主机名模式将始终相同(如 aabvabcw74.def.co.uk
、aaxptac103.def.co.uk
等)。
例如:
2017-04-24T09:20:01.687387+00:00 aabvabcw74.def.co.uk hostd-probe:
除此模式之外的任何内容,我想丢弃该行,如以下示例所示:
2017-04-14T15:18:34.727042+00:00 Fri Apr 14 15:18:34 2017 aalesxbs029.def.co.uk lacp: DEBUG]:147, Recv signal 15, LACP service is about to stop
-- 它有 2 个时间戳,所以我想丢弃此日志行
2017-04-24T09:20:01.687387+00:00 hostd probing is done. aabvabcw74.def.co.uk hostd-probe:
--- 这里 hostd 作为主机名出现,这是错误的,所以我也想丢弃此日志行
2017-04-24T20:53:29.334348+00:00 10.199.6.5 .def.co.uk aabvabcs15.def.co.uk Fdm: sslThumbprint>95:43:64:71:A3:60:D8:17:C8:6F:68:83:92:CE:E4:3B:53:4E:1D:AD10.199.6.5a2:0e:09:01:0a:00a2:0e:09:01:0b:01/vmfs/volumes/b01f388c-aaa4889f/vmfs/volumes/6ad2d8d7-86746df14435.5.03568722host-619286aabvabcs16.def.co.uk
---- 在这里我在时间戳后得到一个 IP 地址所以我也想丢弃这一行
请帮我解决问题
使用这个正则表达式:
^\d+-\d+-\d+T\d+:\d+:\d+.\d+\+\d{2}:\d{2}\s(?:aabvabcw74|aaxptac103).def.co.uk
带有标志 g
和 m
或者,如果您不关心时间戳格式,那么更简单:
^[\dT:\.+-]+\s(?:aabvabcw74|aaxptac103).def.co.uk
目前我的日志中有两种类型的行,使用正则表达式我想 select 一种类型和另一种类型我需要丢弃。
如果我得到一个日志行,主机名在时间戳之后,那么我想 select 它。
主机名模式将始终相同(如 aabvabcw74.def.co.uk
、aaxptac103.def.co.uk
等)。
例如:
2017-04-24T09:20:01.687387+00:00 aabvabcw74.def.co.uk hostd-probe:
除此模式之外的任何内容,我想丢弃该行,如以下示例所示:
2017-04-14T15:18:34.727042+00:00 Fri Apr 14 15:18:34 2017 aalesxbs029.def.co.uk lacp: DEBUG]:147, Recv signal 15, LACP service is about to stop
-- 它有 2 个时间戳,所以我想丢弃此日志行
2017-04-24T09:20:01.687387+00:00 hostd probing is done. aabvabcw74.def.co.uk hostd-probe:
--- 这里 hostd 作为主机名出现,这是错误的,所以我也想丢弃此日志行
2017-04-24T20:53:29.334348+00:00 10.199.6.5 .def.co.uk aabvabcs15.def.co.uk Fdm: sslThumbprint>95:43:64:71:A3:60:D8:17:C8:6F:68:83:92:CE:E4:3B:53:4E:1D:AD10.199.6.5a2:0e:09:01:0a:00a2:0e:09:01:0b:01/vmfs/volumes/b01f388c-aaa4889f/vmfs/volumes/6ad2d8d7-86746df14435.5.03568722host-619286aabvabcs16.def.co.uk
---- 在这里我在时间戳后得到一个 IP 地址所以我也想丢弃这一行
请帮我解决问题
使用这个正则表达式:
^\d+-\d+-\d+T\d+:\d+:\d+.\d+\+\d{2}:\d{2}\s(?:aabvabcw74|aaxptac103).def.co.uk
带有标志 g
和 m
或者,如果您不关心时间戳格式,那么更简单:
^[\dT:\.+-]+\s(?:aabvabcw74|aaxptac103).def.co.uk