RegEx packages/de

From Free Pascal wiki
Jump to navigationJump to search

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