Home » Tutorials » Object Pascal/RTL » Reguläre Ausdrücke in Delphi

Reguläre Ausdrücke in Delphi

Verwendung in Delphi

Seit Delphi XE sind Units zur Verwendung regulärer Ausdrücke direkt in der RTL (Runtime Library) enthalten. Es müssen also keine externen Units oder Komponenten eingebunden werden.
Kernbestandteil ist die Unit RegularExpressions, um die es hier gehen soll. Wichtig zu wissen: Bei den Typen, die in der Unit RegularExpressions definiert sind, handelt es sich um Records, nicht um Klassen. Es müssen also keine Instanzen erzeugt oder freigegeben, wenn man mit dieser Unit arbeitet. Die Verwendung ist deshalb denkbar einfach:

uses RegularExpressions;

...

procedure TForm1.Button1Click(Sender: TObject);
begin
  if TRegEx.IsMatch(Edit1.Text, '^D[a-z]*i$') then
    ShowMessage('Eingabe ist korrekt')
  else
    ShowMessage('Eingabe ist NICHT korrekt');
end;

Hier wird also „Eingabe ist korrekt“ angezeigt, wenn in das Eingabefeld Edit1 ein Text eingegeben wurde, der dem regulären Ausdruck entspricht. Das ist eine reine Boolean-Funktion, passt die Eingabe zum Pattern oder nicht. Mit TRegEx ist noch mehr möglich. Das werden wir uns im Folgenden ansehen.