![]() |
RegEx unter Delphi
Hi,
so langsam bin ich am verzweifeln. Schon seit Tagen such ich eine Delphi Modul womit ich Reguläre Ausdrücke unter Delphi 7 verwenden kann. Jetzt hab ich eins gefunden (TPerlRegEx), allerdings finde ich nirgends Code Beispiele oder sonstige Tutorials. Ich hoffe hier im Forum hat schon jemand Erfahrungen damit gesammelt. Mein Problem ist folgendes. Das ersetzen klappt wunderbar, nur leider ersetzt er immer nur den ersten String, den er findet.
Delphi-Quellcode:
Hat jemand 'ne Idee wodran das liegen könnte?
function regExReplace(ARegEx, AReplace, AText: String): String;
begin with TPerlRegEx.Create(nil) do begin RegEx := ARegEx; Subject := AText; Options := [preCaseLess,preSingleLine]; Replacement := AReplace; if (Match() = TRUE) then Replace; result := Subject; Free(); end; end; procedure test; begin regExReplace('e', 'i', 'Das ist ein Beispiel Text'); end; MfG BaedDog EDIT: Bitte ins richtige Forum verschieben, hat er eben falsch erstellt :/ |
Re: RegEx unter Delphi
Zitat:
![]() |
Re: RegEx unter Delphi
Das hatte ich vorher schonmal probiert, allerdings wird dort das (?:...), sprich das nicht zwischenspeichern von Gruppierung als Subpattern unterstützt.
|
Re: RegEx unter Delphi
Hab das jetzt selbst hinbekommen, muste das in einer Schleife ersetzen lassen, also hier der richtige Code:
Delphi-Quellcode:
function regExReplace(ARegEx, AReplace, AText: String): String;
begin with TPerlRegEx.Create(nil) do begin RegEx := ARegEx; Subject := AText; Options := [preCaseLess,preSingleLine]; Replacement := AReplace; if (Match() = TRUE) then repeat Replace; until not MatchAgain(); result := Subject; Free(); end; |
Re: RegEx unter Delphi
wie wär's mit
Delphi-Quellcode:
?
function ReplaceAll: Boolean;
|
Re: RegEx unter Delphi
Ne, dann ersetzt er den Kram falsch. kA wieso.
Auf jeden Fall ist replaceAll was anderes als meine Lösung. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz