• Hallo!
    Ich hab mich bisher mit Erfolg zu einer ziemlich langen regulären Expression ;) durchgekämpft, stehe jetzt aber vor einem Problem und hoffe, es gibt eine Lösung. Wäre schade um die Zeit...

    Und zwar soll die RegEx überprüfen, ob ein String einem Pattern entspricht (nona), wobei das Pattern auch Konstrukte wie

    Code
    f(x) oder f(g(a))

    etc. haben kann. Ich würde aber gerne auch sowas wie

    Code
    f(g(h(i(...)))

    erlauben, jedoch explodiert dann ja die RegEx ins unendliche - uncool.

    Gibt es eine rekursive Möglichkeit? Oder ist das womöglich gar nicht der Sinn einer RegEx (fänd ich aber brauchbar!)? :(

    Btw: ich hab gegoogelt aber keinen "ich geb 3 Pattern ein und dieses Programm macht mir eine RegEx" Eintrag gefunden....gibt's sowas? (die anderen Programme mit selbst basteln und auf ein Beispiel probieren hab ich eh gefunden....anders wärs aber besser :) )

    Ihr glücklichen Augen, Was je ihr gesehen, Es sei wie es wolle, Es war doch so schön!

  • Wer Algorithmen und Formale Sprachen besucht hat, weiß, dass die Sprache der "wohlgeformten Klammerausdrücke" nicht regulär ist. Somit kann sie auch nicht von einer regular expression abgedeckt werden.

    Einmal editiert, zuletzt von Ringding (4. Juni 2008 um 18:43)

  • Hab ich definitiv nicht besucht, da das zu meiner zeit glaub ich noch anders geheißen hat ;)

    und was ich sehr wohl kann ist folgendes:

    Code
    ([f-t]\(([a-z],)*[a-z]\),)*


    und damit validiert das:

    Code
    f(a,x),g(a,b,x),

    Also mim Holzhammer kann ich das, weil dann sag ich einfach fix, dass ich mit maximal 3 Ebenen arbeiten will, also

    Code
    f(g(h(...)))

    und aus....ist dann zwar ein langer Ausdruck, den ich nie wieder verstehen werd, wenn ich ihn nicht gut kommentiere, aber es ist möglich.....

    natürlich kann ich nicht sagen, dass, sobald eine klammer geöffnet wird, sie auch wieder irgendwo geschlossen werden muss, in meinem fall ist das aber recht fix vorgegeben und dadurch hardcoded (also "\(" sodass dort auf jeden fall eine klammer sein soll...)

    Ihr glücklichen Augen, Was je ihr gesehen, Es sei wie es wolle, Es war doch so schön!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!