解析Python中特定字符串的.txt文件时遇到问题

时间:2013-07-29 16:30:26

标签: python parsing

我在解析一个.txt格式的日志文件时遇到了一些问题。

以下是我正在尝试提取数据的日志的一部分:

CRIT   :  [2013-07-26T14:40:50-0400] msg=<POLICY ADDED>,

我想要的具体部分是CRIT和msg = POLICY ADDED。到目前为止我得到的代码将找到CRIT字符串,但不会找到msg =部分。我相信这与两个词之间的空白有关。

这是我到目前为止的代码:

#!/usr/bin/python

test=open("samhain.txt", "r").readlines()
KEYWORDS= ['CRIT','msg=<POLICY ADDED>']

counterline=[]
counter=0

for line in test:
for word in line.split():
    counter+=1
    if word in KEYWORDS:
        counterline.append(counter)
        print word

我需要将哪些内容添加到列表中才能处理空格?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

看起来你可以使用正则表达式:

s = 'CRIT   :  [2013-07-26T14:40:50-0400] msg=<POLICY ADDED>,'    
import re
print re.match(r'(\w+).*?msg=<(.*?)>', s).groups()
# ('CRIT', 'POLICY ADDED')