匹配行与字典值

时间:2017-05-01 07:34:38

标签: python python-3.x dictionary log-analysis

我有一个包含3个键IP, Session_ID, Session_Length,的字典,这些值来自多个正则表达式,如下所示:

regex_IP = re.compile('(?<![0-9])(?:(?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2}))(?![0-9])')
regex_req_sesslength = re.compile('([5-9]|\d\d\d*)\s[seconds]')
regex_high_sess = re.compile('(?P<sessionLength>[5-9]|\d{2,})(?= seconds)|(?<=relay_session )(?P<session_ID>\d+)(?= \(U)')

我打开了一个文件日志文件,我想搜索整个文件,首先是session_ID然后是session_length,如果找到session_IDIP }。

这是我到目前为止所提供的内容https://repl.it/H9JR,示例文字:https://pastebin.com/0EVjFRkL

当然,我对逻辑推荐持开放态度。

更新:我发现这与我想要在我的代码中应用的内容非常接近: Match list values to dict and return key/value pairs in new dict

麻烦就在于我:

filtered_dict = {k: my_dict[k] for k in result3 if k in my_dict}
                  print (filtered_dict)

它只返回{} ......

0 个答案:

没有答案