TBeCBRegExpr
TBeCBRegExpr
Klasse zum Suchen (und Ersetzen) in einem Text mit Hilfe von regulären Ausdrücken.
Hinweis:
Allgemeine Dokumentation zu regulären Ausdrücken z.B. unter http://www.perl.com/doc/manual/html/pod/perlre.html
Eigenschaften:
Allgemeine-Eigenschaften
SearchText:C | Beliebige Zeichenkette. |
SearchExpression:C | Regulärer Suchausdruck. |
ReplaceText:C | Zeichenkette, mit der bei einem Treffer ersetzt werden soll. |
UseSingleLine:L | Behandle den Zielstring als einzelne Zeile, default = false. |
UseMultiLine:L | Behandle den Zielstring als mehrzeiligen String, default = true. |
UseCaseSensitive:L | Groß- und Kleinschreibung beachten, default = false. |
Matches:A | Array mit Suchtreffer (nur lesend) |
Aktive-Eigenschaften (Methoden)
ExecSearch | Suche ausführen (Rückgabe true/false, Eigenschaft Matches wird gefüllt) |
ExecSeachNext | Weitersuchen (Rückgabe true/false, Eigenschaft Matches wird gefüllt) |
Replace | Suchen und Ersetzen (unabhängig von ExecSearch/ExecSearchNext) |
Beispiel
|oObj|
startseq,
oObj := CreateObject('TBeCBRegExpr'),
//------ Suche nach allen EMail Adressen
oObj.SearchText := 'Lorem info@dontenwill.de ipsum dolor sit amet, consetetur' + crlf,
oObj.SearchText += 'sadipscing elitr, abc@dontenwill.de tempor invidunt ut',
oObj.SearchExpression := '[\w-]+@([\w-]+\.)+[\w-]+',
// beliebige Anzahl alphanum. Zeichen (inkl. -_) +
// @ +
// beliebige Anzahl alphanum. Zeichen mit nachfolgendem '.' +
// beliebige Anzahl alphanum. Zeichen
if oObj.ExecSearch then
writeln(oObj.Matches[1]),
while oObj.ExecSearchNext do
writeln(oObj.Matches[1]),
end,
endif,
oObj.SearchText := 'ArtNr: Y-98498' + crlf +
'Seriennummer: SN1234566' + crlf +
'ArtNr: D-12412' + crlf +
'Seriennummer: SN1234567' + crlf +
'ArtNr: X-25792' + crlf +
'Seriennummer: SN1234568' + crlf,
// Suchmuster:
// X oder Y oder Z gefolgt von '-' gefolgt von genau 5 Ziffern (0-9)
oObj.SearchExpression := '[X-Z]-[0-9]{5}',
oObj.ReplaceText := 'A-11111',
writeln(oObj.Replace),
always
DestroyObject(oObj),
stopseq,