Registriert seit: 4. Sep 2004
1.465 Beiträge
Delphi 10.4 Sydney
|
Frage zu regulären Ausdrücken
16. Aug 2007, 14:50
Hallo, ich habe eine Frage zu regulären Ausdrücken (ich verwende die Delphi-Implementierung TRegExpr, die auf der allgemein üblichen Perl-Syntax aufbaut):
Vereinfachtes Beispiel: Der reguläre Ausdruck "D+" soll in einer Zeichenkette die Zeichenfolge "D" oder "DD" oder "DDD" usw. nur dann finden, wenn genau davor genau die Zeichenfolge "ABC" steht. D.h. im Suchstring "ABCDDD" soll "DDD" gefunden werden, in "CBADDD" soll "DDD" aber NICHT gefunden werden!
Natürlich kann ich mit dem regulären Ausdruck "ABCD+" die gesamte Zeichenkette "ABCDDD" und dann in dieser in einem nächsten Schritt mit "D+" das "DDD" finden.
Mich würde aber grundsätzlich interessieren, ob es bei regulären Ausdrücken möglich ist, im regulären Ausdruck selbst einen Ausdrucksteil so zu definieren, dass dieser nur als BEDINGUNG funktioniert, d.h. dass der Bedingungsteil zwar zutreffen muss, aber in der gefundenen Zeichenkette nicht enthalten ist.
Wenn man also im regulären Ausdruck "ABCD+" das "ABC" irgendwie als Bedingung definieren könnte, so würde dann damit im Suchstring "ABCDDD" tatsächlich nur die Zeichenkette "DDD" gefunden. Ist das irgendwie möglich?
|