首页 > 解决方案 > 在python中具有多个反斜杠匹配的正则表达式

问题描述

我需要从日志文件中提取 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)*

row[21] 是包含日志的消息列。任何回复都会有所帮助。

标签: pythonregex

解决方案


In fact,You dont have to use regEx,Why not try something simpler like this:

string = '[Some log]{\""status\"": \""401\"",[Some further log]'

lines = string.split("\\")

print(lines)

# ['[Some log]{""status"": ""401"",[Some further log]']

推荐阅读