ich habe ein paar Fragen zu Regulären Ausdrücken.
Nach langem stöbern im Netz bin ich auf folgende drei Units gestossen
RegExpr, RegExpr2 und SynRegExpr.
Hier gleich die erste Frage, wie ist der Status der drei Pakete (stabiel oder nicht)?
Und gleich die nächste Frage, warum ist die Web Seite http://RegExpStudio.com
von Andrey V. Sorokin (SynRegExpr) nicht mehr erreichbar?
Ich habe mir die drei Units einmal angeschaut, RegExpr wurde bei Lazarus/FreePascal
mitgeliefert und ist nicht so umfangreich wie die beiden anderen.
Für meine Zwecke würde das aber reichen.
Leider ist dann da aber ein Problem aufgetaucht.
Das Programm wirft einen Fehler beim Beenden (also in der Zeile "end.").
Das Programm
Code: Alles auswählen
program RegTest;
uses regexpr;
var r : tregexprengine;
index, len : longint;
initok, posok : boolean;
begin
initok := GenerateRegExprEngine('[0-9]{2,}',[],r);
if not initok then begin
writeln('Init Fehler');
end else begin
posok := RegExprPos(r,'BAZAZA12ZAZQDABCD',index,len);
if not posok then writeln('Pos Fehler');
end;
DestroyRegExprEngine(r);
writeln('Index: ', index, ', Len: ', len);
readln;
end.
Ausgabe
Index: 6, Len: 2
Fehler
Code: Alles auswählen
An unhandled exception occurred at $0040907E :
Exception object An unhandled exception occurred at $00402295 :
EAccessViolation :
$00402295
$00406C63
$004072D4
$00407340
$004121C9
$00407E77
$0040907E
Wenn ich "{2,}" oder "DestroyRegExprEngine(r)" weglasse, kommt keine Fehlermeldung.
Was mache ich da falsch???