Autor Beitrag
k4mi
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Sa 07.05.05 12:24 
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>&nbsp;von [blo] Name2_mit_Sonderzeichen&nbsp;
</b>&nbsp;<br> von [Bla] Name_mit_Sonderzeichen&nbsp;
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\] .+&nbsp;' 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:
ausblenden 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