Hallo,
Ich hab zum parsen einer Html-Seite die Klasse
TRegExpr benutzt, aber habe ein problem mit der synatx.
Und zwar schaffe ich es einfach nicht Die Zeichenfolge:
<b>von [
Bla]
Name_mit_Sonderzeichen</b>
von beispielsweise diesen
</b><br> von [
blo]
Name2_mit_Sonderzeichen
</b> <br> von [
Bla]
Name_mit_Sonderzeichen
zu unterscheiden.
Edit: Grün sind die Variablen und unbekannten Teile in der Datei
Das Problem liegt imo bei den Sonderzeichen in den Namen, denn Wenn ich als Expression 'von \[\w\] .+ ' benutze dann hört er bei einem Namen, wie 'bla-blo' schon bei 'bla' auf.
Also nochmal:
Ich wuerde gerne aus diesen Strings den [Tag] und den Namen auslesen, wobei die erste folge ignoriert werden soll.
mein Code bislang:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| function ExtractNames(const AInputString: string): string; const Pattern = 'von \[\w+\] .+^{</b>]? <\/td>'; var r : TRegExpr; begin Result := ''; r := TRegExpr.Create; try r.Expression := Pattern; if r.Exec (AInputString) then repeat Result := Result + r.Match [0] + ' , '; showmessage(inttostr(r.SubExprMatchCount)); until not r.ExecNext; finally r.Free; end; end; |
'</b>' sollte als Nichterlaubtes Ende fuer den String gelten, aber die synatx ist wohl falsch =x
mfg
k.
P.S: Auch wenn das alles ein "wenig" konfus wirkt, bitte ich um verständnis und hilfe, danke