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

Python 正则表达式是从日志中提取数据的最佳方法吗,python,regex,python-2.7,Python,Regex,Python 2.7,我有一个满是日志的文件,我正试图从这些日志中提取一些数据,日志如下所示: IP_adress - - [Date_time] "method" response_nb time "page" "UA" "IP_adress" 我想提取IP地址和UA。 使用正则表达式是从这些日志中提取数据的好方法还是有其他方法可以正确地提取数据?只需拆分字符串并获取最后两个元素 >>> >>> str = 'IP_adress - - [Date_time] "method"

我有一个满是日志的文件,我正试图从这些日志中提取一些数据,日志如下所示:

IP_adress - - [Date_time] "method" response_nb time "page" "UA" "IP_adress"
我想提取IP地址和UA。
使用正则表达式是从这些日志中提取数据的好方法还是有其他方法可以正确地提取数据?

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

>>>
>>> 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'
>>>

尝试logstash,您必须编写grok模式,其中可能有预定义的模式来支持您的需求。您对“最佳方式”的标准是什么?没有这些信息,你只是在征求我们的意见。如果你问是否有可能使用正则表达式,是的,当然有,只是要做到恰到好处可能有点困难。