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

Georg Mischler schorsch at schorsch.com
Tue Apr 23 12:28:08 EDT 2002


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.
>
> Ein regulärer Ausdruck, der den Kontext in String/nicht in String
> unterscheidet, fällt mir aber spontan auch nicht ein. Will aber nix
> heißen, da ich diesbzgl. auch nur die absoluten Basics kenne.

Ich bin auch kein Spezialist, aber die Geschichte mit den
Strings duerfte fuer eine globale regex-Loesung doch ein kleines
Hindernis darstellen. Das Hauptproblem dabei besteht darin, dass
das Suchmuster keine einfache Moeglichkeit hat, zwischen dem
Anfang und dem Ende eines Strings zu unterscheiden.

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.
Wenn man so will, dann kriegt man auf diese Weise einen stark
vereinfachten Syntax-Baum, der nur Strings, Kommentare, und
anderen Text kennt... ;)


-schorsch

-- 
Georg Mischler  --  simulations developer  --  schorsch at schorsch.com
+schorsch.com+  --  lighting design tools  --  http://www.schorsch.com/




More information about the Python-de mailing list