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

Jan Wender j.wender at science-computing.de
Tue Apr 23 18:43:47 EDT 2002


On Tue, Apr 23, 2002 at 11:28:08AM -0400, Georg Mischler wrote:
> Gerhard Häring wrote:
> >
> > 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.

Das Problem mit den regulären Ausdrücken ist, daß sie einer
Chomsky-Typ-3-Sprache entsprechen. Solche können keine geklammerten Ausdrücke
produzieren, dazu braucht es Typ-2-Sprachen (kontextfreie Grammatiken).

> 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... ;)

Das ist dann im Prinzip eine Typ-2-Sprache bzw. der dazugehörige Erkenner.

Näheres bei Google unter dem Stichwort Chomsky Hierarchie (aber meistenteils
heftig Logik-lastig) oder in jedem Grammatik/Parser-Buch.

Cheerio,
-- 
J.Wender at science-computing.de  -  Fon +4970719457-257 Fax-211
science+computing ag - Hagellocher Weg 71-75 - 72070 Tübingen
There's nothing in life so difficult that a Microsoft manual can't make it
completely incomprehensible. (Douglas Adams)



More information about the Python-de mailing list