正则表达式是从日志中提取数据的最佳方式

时间:2016-09-19 04:52:37

标签: python regex python-2.7

我有一个充满日志的文件,我试图从这些日志中提取一些数据,日志看起来像:

IP_adress - - [Date_time] "method" response_nb time "page" "UA" "IP_adress"

我想提取IP_adress和UA。 使用正则表达式是一个好主意从这些日志中提取数据还是有其他方法可以正确地完成它?

1 个答案:

答案 0 :(得分:2)

只需拆分字符串并获取最后两个元素。

>>>
>>> str = 'IP_adress - - [Date_time] "method" response_nb time "page" "UA" "IP_a
dress"'
>>> tmp_list = str.split()
>>>
>>> tmp_list
['IP_adress', '-', '-', '[Date_time]', '"method"', 'response_nb', 'time', '"page
"', '"UA"', '"IP_adress"']
>>> tmp_list[-1]
'"IP_adress"'
>>> tmp_list[-2]
'"UA"'
>>>

如果需要第一个IP地址......

>>> tmp_list[0]
'IP_adress'
>>>

将以下双引号替换为上一个IP地址。

>>>
>>> tmp_list[-1].replace('"','')
'IP_adress'
>>>