正在使用regex检索日志的子集....如何接近?

emeijp43  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(68)

我对正则表达式非常陌生,需要创建一个正则表达式来将日志解析为日志消息的较短子集。
例如,我有日志:

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

起初这看起来真的很琐碎,但在看了很多关于regex的教程之后...我不知道如何处理这样的任务。我该从何说起呢?
先谢谢你了。

ggazkfy8

ggazkfy81#

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

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

我首先搜索Timing,然后搜索Q,然后继续搜索所有字符,以非贪婪的方式(.*?),直到我遇到Class和下面的逗号。我不捕获逗号本身,而是在非捕获括号(?:,)中指定逗号

相关问题