Regular-Expresions (re)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
JanDMC
User
Beiträge: 95
Registriert: Donnerstag 23. September 2004, 19:35
Kontaktdaten:

Moin Leute,

Ich hab mir sagen lassen, das man mit regular expressions der gut log-Datei "zerstückeln" kann z.B. Nun benötige ich diese Funktion auch, hab jedoch fast kein Plan wie das abläuft. Könnte mir jemand einen Link zu einer guten Doku posten oder noch besser auch einen kleinen Beispiel-Code posten. Danke


mfg JanDMC


mit dem modul 're' sollte es möglich sein..
joa nää python is toll :D
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Code: Alles auswählen

blackbird@volverine:~$ python
Python 2.4.2 (#2, Sep 30 2005, 21:19:01)
[GCC 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> logfile = """
... [II] 16:34 asfsdag sgsa gsdkg skgj kgj sagkjs gksadj gksagj sag
... [II] 16:35 asghajsdg hjashdg jashg jsahg jasdhgjas ghjasdhg
... [EE] 18:00 askdhgjasdhg jasdhg jsdahg jsadghjsda ghjsadgh
... [EE] 18:01 asdjhgjsa dhgjsdagjsda gjsadhg jasdhg jashg jasdhgjsad g
... [WW] 18:03 asdhg jasdhgjsaghas dghjas gasjgh jghasjgsajg asjgh
... [II] 18:32 sdajgh jsdagh sadgjhs adjghsa jdghasj gasjg
... """
>>> line_rule = re.compile(r'^\[([A-Z]{2})\]\s(\d{2}:\d{2})\s(.*?)$(?uism)')
>>> for line in line_rule.findall(logfile):
...     print line
...
('II', '16:34', 'asfsdag sgsa gsdkg skgj kgj sagkjs gksadj gksagj sag')
('II', '16:35', 'asghajsdg hjashdg jashg jsahg jasdhgjas ghjasdhg')
('EE', '18:00', 'askdhgjasdhg jasdhg jsdahg jsadghjsda ghjsadgh ')
('EE', '18:01', 'asdjhgjsa dhgjsdagjsda gjsadhg jasdhg jashg jasdhgjsad g')
('WW', '18:03', 'asdhg jasdhgjsaghas dghjas gasjgh jghasjgsajg asjgh')
('II', '18:32', 'sdajgh jsdagh sadgjhs adjghsa jdghasj gasjg ')
Für die Re Syntax schau am besten mal in die Docs. Die wird dort erklärt.
TUFKAB – the user formerly known as blackbird
JanDMC
User
Beiträge: 95
Registriert: Donnerstag 23. September 2004, 19:35
Kontaktdaten:

Das ist schon ganz gut hier danke !
joa nää python is toll :D
Antworten