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.
JanDMC
User
Beiträge: 95
Registriert: Donnerstag 23. September 2004, 19:35
Kontaktdaten:

Regular-Expresions (re)

Beitragvon JanDMC » Dienstag 24. Januar 2006, 16:52

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
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Dienstag 24. Januar 2006, 17:03

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:

Beitragvon JanDMC » Dienstag 24. Januar 2006, 17:18

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

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Google [Bot]