Я пытаюсь проанализировать файл журнала и извлечь определенные группы захвата, такие как метки времени, имя пользователя и т. Д. Когда я выполняю следующий код, результатом является элемент списка с кортежами, вложенными внутрь в качестве групп захвата.(или результаты поиска).По сути, мне было любопытно, почему я получаю символ '\ n' в одной из моих групп захвата, я не хочу этого там.
Я пытался изменить шаблон регулярных выражений, но не смог решить проблему.
import re
with open('obis1-query.log') as myfile:
StartTime = []
myfile = myfile.read()
mysearch = re.findall('(?P<datetime>\d+-\d+-\d+T\d+:\d+:\d+.\d+-05:00).\s.\w+.\s.\w+:\d.\s.+ecid:\s[A-Za-z\d,:-]+.\s.sik:\s\w+.\s.tid:\s\w+.\s.messageid:\s\w+-\d+.\s.requestid:\s\w+.\s.(?P<sessionid>sessionid:\s\w+).\s.(?P<username>username:\s\w+).\s#+\s\[\[\s-+\sSQL\sRequest,\s(?P<logreqhash>logical\srequest\shash:\n?\w+)', myfile)
if mysearch != None:
StartTime.append(mysearch)
print(StartTime)
Вывод выглядит следующим образом:
[[('2019-06-12T09:14:54.947-05:00', 'sessionid: bf710000', 'username:
kadaniel', 'logical request hash:\n83bf7e6f'), ('2019-06-12T09:14:55.343-
05:00', 'sessionid: bf710000', 'username: kadaniel', 'logical request
hash:\n8e45939b'), ('2019-06-12T09:14:55.362-05:00', 'sessionid:
bf710000', 'username: kadaniel', 'logical request hash:\n4496de01'),
Мне просто нужен символ '\ n' между 'логическим хешем запроса:' и 'следующим числом' (в последнем случае, 4496de01) удаляется из результатов.