Einzelnen Beitrag anzeigen

JocalAreaNetwork

Registriert seit: 19. Aug 2005
35 Beiträge
 
Delphi 2006 Architect
 
#1

Reguläre Ausdrücke: Verschachtelte Klammern

  Alt 13. Jan 2006, 19:15
Hallo,

ich bin auf ein Problem mit einem regulären Ausdruck gestoßen und wäre dankbar, wenn jemand eine Lösung parat hat, oder wenigstens weiß, dass das mit regulären Ausdrücken nicht zu lösen ist.

Mein Problem bezieht sich auf mathematische Terme, in welchen ich Produkte, die einen Faktor 0 im Term haben, komplett mit 0 ersetzen will. Wenn ich nun also einen String 4*5*0*2*(4+5(5+4)) betrachte, dann ist dies absolut kein Problem, der Ausdruck findet es. Bei folgendem Term geht es nun jedoch nicht mehr:

4*0*(5+4)+4*(2+1)

Es liegt daran, dass der Ausdruck nicht erkennt, wann die letzte Klammer aufhört. Hier mit dem ? Operator zu arbeiten macht ebenfalls keinen Sinn, da ich ja Klammern beliebig tief verschachteln kann. Kann man irgendwie dem Ausdruck beibringen, dass er also im Prinzip zählt, wie viele Klammern geöffnet wurden und wie viele geschlossen werden müssen? Ich würde gerne (5+4) einfach wegfallen lassen können, nur leider könnte dieser Faktor ja auch (5+4(3+45)) sein.

Viele Grüße
JocalAreaNetwork
  Mit Zitat antworten Zitat