Ich benutze Python, um eine Text-Log-Datei Zeile für Zeile zu durchsuchen und ich möchte einen bestimmten Teil einer Zeile als Variable speichern. Ich benutze Regex, aber glaube nicht, dass ich es richtig verwende, da ich immer None
für meine Variable string_I_want
bekomme. Ich habe mir hier andere Regex-Fragen angesehen und gesehen, wie Leute .group()
an das Ende ihrer re.search
angefügt haben, aber das gibt mir einen Fehler. Ich bin mit Regex nicht vertraut, kann aber nicht herausfinden, wo ich falsch liege?Python: Get spezifischen Text in einer Zeile einer Datei mit Regex
Beispielprotokolldatei:
2016-03-08 11:23:25 test_data:0317: m=string_I_want max_count: 17655, avg_size: 320, avg_rate: 165
Mein Skript:
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
regex ist wrong..you verwenden Javascript-Format von regex – rock321987
Erraten Sie nicht nur, was diese 're' Funktionen und Methoden tun --- lesen Sie die "[Regular Expression HOWTO] (https://docs.python.org/2/howto/regex.html)" für eine gründliche Einführung in die Verwendung von regulären Ausdrücken in Python 2, und verweisen Sie auf die ['re 'Referenzdokumente] (https://docs.python.org/2/library/re.html), wenn Sie nach Details suchen müssen. Es wird Ihnen auf lange Sicht Zeit sparen. –