使用正则表达式检索日志的子集....如何处理?

时间:2017-01-16 09:50:01

标签: regex parsing logging

我是regex的新手,我需要创建一个来将日志解析为该日志消息的较短子集。

例如,我有日志:

System trap received SystemString=Mon Jan 07 15:36:07 2017. System 1464333684: Type: Timing Quality le-5 System, Class: Timing, Level: None, Action: Clear System, Flags: 0x15

我想从中解析并检索:

Timing Quality le-5 System, Class: Timing

起初这对我来说看起来非常微不足道,但在看了很多关于正则表达式的教程之后...我对如何处理这样的任务很困惑。我该从哪里开始?

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果你的字符串在s,我会这样做:

g = re.search('Timing Q.*?Class.*?(?:,)', s)
print(g.group(0))

我首先搜索Timing后跟Q,然后继续使用非贪婪方式(.*?)的所有字符,直到我遇到Class并直到以下逗号。 我不通过在非捕获括号内指定逗号来捕获逗号本身 - (?:,)