我需要从日志文件中提取http状态代码。日志文件存储的代码格式如下:
[Some log]{\""status\"": \""401\"",[Some further log]
我写了下面的正则表达式,通过它我可以通过atom/notepad++在日志文件中搜索代码:
\\\"\"status\\\"\"\:\ \\\"\"[4-9][0-9][0-9]\\\"\"
然而,它在我的python代码中不起作用。代码如下:
*import csv, os, re
from re import search
pattern = re.compile(r'\\\"\"status\\\"\"\:\ \\\"\"[4-9][0-9][0-9]\\\"\"')
print(pattern)
#outfile = open("output.txt", 'a')
with open('query_data.csv') as logfile:
csv_reader = csv.reader(logfile)
filtered_log = []
for row in csv_reader:
source = row[21]
result = pattern.search(source)
print(result)
if result != None:
print(result)*
row21是包含日志的消息列。任何回复都会很有帮助。
发布于 2020-06-18 18:45:00
事实上,你不需要使用regEx,为什么不尝试一些更简单的东西,比如:
string = '[Some log]{\""status\"": \""401\"",[Some further log]'
lines = string.split("\\")
print(lines)
# ['[Some log]{""status"": ""401"",[Some further log]']
https://stackoverflow.com/questions/62442265
复制相似问题