[Python-de] Re: [Python-de] reguläre Ausdrücke

Gerhard Häring haering_python at gmx.de
Tue Apr 23 21:57:04 EDT 2002


* Georg Mischler <schorsch at schorsch.com> [2002-04-23 11:28 -0400]:
> Gerhard Häring wrote:
> 
> > * Dinu Gherman <gherman at darwin.in-berlin.de> [2002-04-23 13:12 +0200]:
> > > > Erhan_A at gmx.de:
> > > > [C Kommentare mit regulärem Ausdruck matchen]
> > > [...]
> > >
> > > Regulaere Ausdruecke dafuer sind nicht ganz trivial... Idealerweise
> > > muss man dazu das tun, was Python selbst tut, naemlich einen
> > > Syntaxbaum auf- bauen...
> >
> > Wieso das denn? Wenn die Zeichenfolge /* nicht in einem String vorkommt,
> > markiert sie doch den Anfang eines Kommentars, der bis zum nächsten */
> > geht. AFAIK erlaubt Standard-C noch nicht mal geschachtelte Kommentare,
> > also dürfte das Parsen nicht sooo schwierig sein. Einzig auf \" muss man
> > noch aufpassen. [...]
> [...]
> Wenn ich selber vor dem Problem stuende, dann wurde ich mir eine
> kleine state-machine basteln, welche sich mit ein paar ganz
> simplen regex-Mustern Stueck fuer Stueck durch den Text hangelt. [...]

Ich würde es sogar ohne regexes machen, und einfach Zeichen für Zeichen
scannen - das ist noch simpler zu implementieren.

Ich hab das mal gemacht, und scheint auch ganz gut zu funktionieren.
Wegen Spoiler mit pypack gepackt ;-) Zum Anschauen einfach exec durch
print ersetzen:

import zlib,base64
exec(zlib.decompress(base64.decodestring("""
eNqVkz9PwzAQxXd/iqMMTSAk7YoUdiYG1kqWSS7UInEqn1vUb4/zz6nrlkIm593zvZ9t3f1dtied
fUiVoTrA7mi2rWKy2bXaQPFutFSfr28gCKb1VKQjMVZiBZWsDWpetE2DylAklVUwgXZvukX8zMB+
UnHqO0AOq14ZN/AaD1j3ai8jFWKHziXINpf05QSqBW1ne9VqKGx3GGJTjaKMxsw+t7LlPIflZrOc
1bHioPyKh6FaM/54nokrcUDRKlnFzoO1S16EwWdnt6cBocqTrBDo9AI7n/tnIXZyBe8KYBYCTvtD
Dh/9KYd1YBFEqE3kO1/sIeP/sK4vsj6ErP2uW6CP56C/pq/9m6Kz9/j7LV98a7/ZOCfpt5YGoyIe
pqoRUkVudjqD7W5nLiVTSsVONs66FYaZuDGRjFkszpVokPOOaMF5l8f5Yggcwhn7AR2pG14=
""")))

Gerhard
-- 
This sig powered by Python!
Außentemperatur in München: 15.7 °C      Wind: 2.4 m/s



More information about the Python-de mailing list