Python RegEx - 从字符串中获取多条信息

Jos*_*ua 2 python regex

我正在尝试使用python来解析日志文件并在一个正则表达式中匹配4条信息.(纪元时间,服务通知,主机名和关键)我似乎无法让这个工作.到目前为止,我只能匹配四个中的两个.是否有可能做到这一点?下面是日志文件中的字符串示例以及到目前为止我已经开始工作的代码.任何帮助都会让我成为一个快乐的菜鸟.

[1242248375] SERVICE ALERT:myhostname.com; DNS:Recursive; CRITICAL; SOFT; 1; CRITICAL - 执行系统调用时插件超时

hostname = options.hostname

n = open('/var/tmp/nagios.log', 'r')
n.readline()
l = [str(x) for x in n]
for line in l:
    match = re.match (r'^\[(\d+)\] SERVICE NOTIFICATION: ', line)
    if match:
       timestamp = int(match.groups()[0])
       print timestamp
Run Code Online (Sandbox Code Playgroud)

Ale*_*lli 6

您可以使用|以匹配各种可能的任何一种,并将re.findall所有非重叠匹配与某些RE匹配.