Einzelnen Beitrag anzeigen

Getox

Registriert seit: 28. Dez 2012
155 Beiträge
 
Delphi XE3 Professional
 
#1

DIRegEx - String auf Pattern testen

  Alt 5. Feb 2013, 10:49
Delphi-Version: 2007
Hiho,

ich probiere grade ein wenig mit RegEx rum. Da diese Technik erst mit XE eingeführt wurde, arbeite ich mit DIRegEx von Ralf Junker.

Ich habe schon so weit, dass ich einzelne Wörter aus Strings raussuchen kann und Gruppen durch klammern im Pattern bestimmen und anschließend über substring ansprechen kann.

Mein problem ist jedoch ein anderes:

Ich will sagen: Wenn der String komplett auf den Pattern passt, dann führe Aktion XY aus, ansonsten mache was anderes.

also ein Beispiel:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
VAR
  RegEx: TDIRegEx;
  Words: String;
begin
  Words := Edit1.Text + ':' + Edit2.Text;
  RegEx := TDIPerlRegEx.Create(nil);
  RegEx.SetSubjectStr(Words);
  RegEx.MatchPattern := '(\w+):(\w+)';
  RegEx.Match;
  if 'Hier weis ich nicht was ich abfragen sollthen
  begin
    Label1.Caption := RegEx.SubStr(1);
    Label2.Caption := RegEx.SubStr(2);
    Label3.Caption := Words;
  end;
end
Es kann ja in diesem Beispiel auch sein, dass Edit1 oder Edit 2 leer sind. In dem Fall würde der String nicht auf den Pattern passen und beim versuch den Substring abzufragen würde ich ein 'out of bounds' um die Ohren bekommen. Ich suche quasi einen Boolean, der mir sagt "String passt auf Pattern" oder "String passt nicht auf Pattern".
  Mit Zitat antworten Zitat