RegEx packages/de
│
Deutsch (de) │
English (en) │
español (es) │
Bahasa Indonesia (id) │
polski (pl) │
中文(中国大陆) (zh_CN) │
Das Package RegExpr enthält eine Anzahl von Werkzeugen für den Umgang mit Regulären Ausdrücken (regular expressions).
Um sich in das Thema Reguläre Ausdrücke einzuarbeiten können Sie folgende Wikipedia-Seiten lesen:
Wikipedia: Reguläre Ausdrücke (englisch)
Wikipedia: Reguläre Ausdrücke (deutsch)
Regexpr von Sorokin
Dieses Package ist die vollständigste Umsetzung, das Package befindet sich im Unterverzeichnis packages/regexpr/src/regexpr.pas
Dieses Package enthält eine Untermenge des Regulären Ausdrucks und dessen Syntax der Programmiersprache Perl.
Die Dokumentation finden Sie unter:
https://regex.sorokin.engineer/regex
Einfaches Verwendungsbeispiel
Mit der RegExpr von Sorokin ist es sehr einfach zu üperprüfen, ob ein Ausdruck (expression) in einer Zeichenkette (string) vorkommt.
Dazu erstellen Sie eine Instanz von TRegExpr. Dann übergeben Sie Ihren regulären Ausdruck der Eigenschaft TRegExpr.Expression. Um den Regulären Ausdruck zu überprüfen führen Sie das Ganze mit der Methode Exec aus. Wenn der Reguläre Ausdruck in der Zeichenkette (String) vorkommt, dann gibt die Methode Exec den Wert True (Wahr) zurück.
var
RegexObj: TRegExpr;
begin
RegexObj := TRegExpr.Create;
RegexObj.Expression := '.*login.*';
if RegexObj.Exec('Bitte finde das Wort login in diesem Satz.') then WriteLn('Das Wort login wurde im Satz gefunden!');
RegexObj.Free;
end;
Regexpr von Joost
Die Regexpr von Joost (das sind die Units oldregexpr.pp und regex.pp) sind Units für sehr einfache Reguläre Ausdrücke. Die Regexpr von Joost verwendet die meisten Regulären Ausdrücke der GNU regexpr. regex wird verwendet um Ausdrücke innerhalb einer Zeichenkette (string) zu suchen.
Die gegenwärtige Unit ist weit davon entfernt vollständig zu sein. Sie vermisst die einfache Syntax Unterstützung von POSIX oder die komplexere Syntax wie Perl regex, Java Regex, Ruby Regex etc ...
Aktuell ent hält die Unit vier Funktionen:
- GenerateRegExprEngine – Fordert den Speicher an.
- RegExprPos – Findet das Suchmuster in einer Zeichenkette (string).
- DestroyRegExprEngine – Gibt den Speicher frei.
- RegExprEscapeStr – Verlässt die Syntax des Regulären Ausdrucks und interpretiert den Ausdruck als Zeichenkette (string) der regex syntax.
Es gibt für diese Funktion ein Testprogram:
- Das Testprogramm testreg1 (($LazarusDir)\fpc\2.2.6\source\packages\regexpr\examples) zeigt die unterstützten Regulären Ausdrücke.
Regexpr von Florian
Die ist die älteste Umsetzung. Diese Umsetzung befindet sich aktuell im Verzeichnis packages/regexpr/src/old und wird gegenwärtig nicht von makefiles kompiliert. Damit wird die Umsetzung in den aktuellen FPC/Lazarus Versionen nicht vorkompiliert ausgeliefert.
Siehe auch