Serverlog mithilfe von Regular Expression auswerten?
Verfasst: Freitag 7. Januar 2011, 19:22
Hallo liebe Community,
ich habe folgendes Problem. Soo ich habe einen Logfile eines GameServers der so aussieht:
4289:44 K;31019120;9;allies;[Out]Buccaneer;1528214;10;axis;[Out]TiRiTh;ak74u_reflex_mp;40;MOD_PISTOL_BULLET;torso_lower
4289:45 K;1528214;10;axis;[Out]TiRiTh;84655;3;allies;[Out]JouleS;kiparis_silencer_mp;30;MOD_RIFLE_BULLET;torso_lower
4289:46 D;10426877;1;allies;SKSB_Smarties;1528686;2;axis;[Out]Desteny;frag_grenade_mp;15;MOD_IMPACT;left_foot
.
.
.
meine erste Idee war es die gesuchten Abschnitte(fett gedruckt) mit find() zu suchen und herauszufiltern. Dann habe ich einen Tipp bekommen, das mit Regular Expression zu machen. Das Modul hab ich mir dann angesehen und auch die Beispiele dazu. Hier die Page: http://www.tutorialspoint.com/python/py ... ssions.htm. Ich muss ja das ";" als Trennzeichen nehmen, aber ich komm trotz der Hilfe, der Page nicht weiter, weil ich nicht verstehe wie ich mir den Pattern bauen soll. Bei manchen Beispielen sehen die pattern so aus:
Aber ich kann hier gar nicht verstehen für was die zeichen in diesem Fall stehen(auch mit der Dokumentation nicht). Könnte mir jemand das vielleicht erklären? Brauche ich überhaupt Regular Expression?
Mit freundlichen Grüßen
schaf220
ich habe folgendes Problem. Soo ich habe einen Logfile eines GameServers der so aussieht:
4289:44 K;31019120;9;allies;[Out]Buccaneer;1528214;10;axis;[Out]TiRiTh;ak74u_reflex_mp;40;MOD_PISTOL_BULLET;torso_lower
4289:45 K;1528214;10;axis;[Out]TiRiTh;84655;3;allies;[Out]JouleS;kiparis_silencer_mp;30;MOD_RIFLE_BULLET;torso_lower
4289:46 D;10426877;1;allies;SKSB_Smarties;1528686;2;axis;[Out]Desteny;frag_grenade_mp;15;MOD_IMPACT;left_foot
.
.
.
meine erste Idee war es die gesuchten Abschnitte(fett gedruckt) mit find() zu suchen und herauszufiltern. Dann habe ich einen Tipp bekommen, das mit Regular Expression zu machen. Das Modul hab ich mir dann angesehen und auch die Beispiele dazu. Hier die Page: http://www.tutorialspoint.com/python/py ... ssions.htm. Ich muss ja das ";" als Trennzeichen nehmen, aber ich komm trotz der Hilfe, der Page nicht weiter, weil ich nicht verstehe wie ich mir den Pattern bauen soll. Bei manchen Beispielen sehen die pattern so aus:
Code: Alles auswählen
foo = ' [9764327] = ["oasdsas"] # ["agfdgdffff"]'
m = re.search(r"=\s*\[([^\]]*)", foo)
print(m.group(1))Code: Alles auswählen
matchObj = re.search( r';(.*);(.*)(\.*)', line, re.M|re.I)
print "matchObj.group(1) : ", matchObj.group()Mit freundlichen Grüßen
schaf220