AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DIRegEx - String auf Pattern testen

Ein Thema von Getox · begonnen am 5. Feb 2013 · letzter Beitrag vom 5. Feb 2013
Antwort Antwort
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
Jens01

Registriert seit: 14. Apr 2009
670 Beiträge
 
#2

AW: DIRegEx - String auf Pattern testen

  Alt 5. Feb 2013, 11:45
Könnte das für Dich passen?
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
Getox

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

AW: DIRegEx - String auf Pattern testen

  Alt 5. Feb 2013, 11:52
Das ist ja von dem "original" RegEx, das ab XE drin ist. Ich muss aber, da ich D2007 habe auf eine Komponente von einem Drittanbieter zurückgreifen und in der gibt es das "isMatch" leider nicht. Aber ja, wenn ich XE hätte, wäre es das was ich suche

Ich habe die Hoffnung, dass hier einer schon mit DIRegEx gearbeitet hat (http://www.yunqa.de/delphi/doku.php/...ts/regex/index) und dem entsprechend eine Antwort kennt.

Ich habe mir die Methoden auch schon durchgelesen, aber irgendwie finde ich das passende nicht.

Edit: Ich habe nun den Befehl "MatchResult" gefunden, welcher eine -1 rausgibt, wenn der String nicht gepasst hat. Das sieht zwar etwas provisorisch aus finde ich, aber es reicht um meine Ziele weiter zu verfolgen.

Geändert von Getox ( 5. Feb 2013 um 12:15 Uhr)
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
670 Beiträge
 
#4

AW: DIRegEx - String auf Pattern testen

  Alt 5. Feb 2013, 12:15
http://www.regular-expressions.info/delphi.html
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz