【发布时间】:2017-01-25 19:01:02
【问题描述】:
我需要将字符串转换为字典。更具体地说,我需要将 Auditd 消息解析为字典。前任: 字符串:
msg=audit(123.123:123): pid=2514 uid=1000 auid=1000 ses=3 subj=random_ex:random_ex:random_ex:d3-d3:w0.c12 30 msg='op=PAM:accounting grantors=pam_unix,pam_localuser acct="lemoney" exe="/usr/bin/sudo" hostname=? a ddr=? terminal=/dev/pts/0 res=success'
这里有一些替代品:
msg=audit(1234902.147:88): pid=254 uid=1000 auid=1000 ses=3 subj=random_ex:random_ex:random_ex:d3-d3:w0.c12 30 msg='op=PAM:accounting grantors=pam_unix,pam_localuser acct="lemoney" exe="/usr/bin/grep" hostname=? a ddr=? terminal=/dev/pts/0 res=success'
msg=audit(432787023.324:77): pid=1254 uid=1000 auid=1000 ses=3 subj=random_ex:random_ex:random_ex:d3-d3:w0.c12 30 msg='op=PAM:accounting grantors=pam_unix,pam_localuser acct="lemoney" exe="/usr/bin/tail" hostname=? a ddr=? terminal=/dev/pts/0 res=success'
我想要的是:
{
msg: 'audit(...',
pid: ...,
uid: ...,
mess: {
op: PAM...,
grantors=pam_unix...
}
}
我真的很想知道我需要一个正则表达式并且它需要是递归的,但我非常感谢一些帮助。
【问题讨论】:
-
是的。每一个都是一个单独的条目
标签: python regex dictionary