我正在使用python逐行搜索文本日誌文件,並且我想將行的某個部分保存爲變量。我使用正則表達式,但不認爲我正確使用它,因爲我總是得到None
爲我的變量string_I_want
。我在看這裏的其他正則表達式問題,看到人們在其re.search
的末尾添加了.group()
,但是這給了我一個錯誤。我不是最熟悉正則表達式,但不知道我哪裏錯了?Python:使用正則表達式獲取文件行中的特定文本
日誌文件示例:
2016-03-08 11:23:25 test_data:0317: m=string_I_want max_count: 17655, avg_size: 320, avg_rate: 165
我的腳本:
def get_data(log_file):
#Read file line by line
with open(log_file) as f:
f = f.readlines()
for line in f:
date = line[0:10]
time = line[11:19]
string_I_want=re.search(r'/m=\w*/g',line)
print date, time, string_I_want
正則表達式是wrong..you使用正則表達式的格式的Javascript – rock321987
不要只是猜測那些're'函數和方法做---閱讀「[正則表達式HOWTO]」(https://docs.python.org/2/howto/regex.html)「的全面介紹在Python 2中使用正則表達式,並參考['re'參考文檔](https://docs.python.org/2/library/re.html)當你需要查詢細節。從長遠來看,這會節省您的時間。 –