[Python-de] re und findall

Albert Hermeling Albert.Hermeling at t-online.de
Mon Feb 28 13:46:51 CET 2005


Am Montag, 28. Februar 2005 11:22 schrieb Diez B. Roggisch:


Hallo Diez,

> > Nach meinem Verständnis müßten es zwei Einträge in der Liste sein. Wo ist
> > hier mein Denkfehler?
>
> Auch wenn man das ganze damit hinbekommen kann: der Denkfehler ist,
> regulaere Ausdruecke zu benutzen. Das hier ist alles, was man braucht:
Jetzt machst Du mich ein bißchen Neugierig, wo liegt den da mein Denkfehler? 
Im Modul sgmllib werden schließlich auch reguläre Ausdrücke verwendet zwar 
nicht so speziel wie meine, aber trotzdem sind es reguläre Ausdrücke!



>
> ---------------------
> import sgmllib
>
> class MetaExtractor(sgmllib.SGMLParser):
>
>     def start_meta(self, attributes):
>         print attributes

> Und dein "da laeuft soooviel code"-Argument ist nicht schluessig: Mit dem
> Argument verzichtest du am besten ganz auf Python und schreibst C :)
Warum? Ich wollte zuerst das ganze mit der sgmllib machen, stellte aber bei 
der Umsetzung fest, das der meiste Code der dort ausgeführt wird, nichts zur 
konkreten Lösung meines Problems beiträgt. Außerdem, Deine Lösung braucht 11 
mal mehr Zeit als meine :-)) gemessen mit den Python profiler und meine 
Lösung kann man sicherlich noch optimieren :-)).

mfg

Albert

PS. Gemsen wurde die Geschwindigkeit beider Skripte auf einem Celeron 1300 mit 
256 MB Speicher unter Linux.