Delphi-PRAXiS
Seite 2 von 6     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi wie benutze ich regular expressions? (https://www.delphipraxis.net/134919-wie-benutze-ich-regular-expressions.html)

nimmersattXD 4. Jun 2009 11:51

Re: wie benutze ich regular expressions?
 
meine version hab ich ja schon geschrieben, aber hier mal ein teil meines quellcodes

Code:

//routine zum suchen der Url in den htmls

page:=TStringList.Create;
re:=TRegExpr.Create;

try
    page.LoadFromFile(LiBoSit.Items[0]);
    re.Expression:='(.+).(jpg|png|pdf|bmp|gif)';
    if re.Exec(page.Text) then
      begin
      LbTest.Caption:=re.Match[0]
      end;
  finally
    page.Free;
    re.Free;
  end;

nat 4. Jun 2009 12:14

Re: wie benutze ich regular expressions?
 
also habs grad getestet, meine expr geht bei mir.
wie sieht denn dein html aus?
wie gesagt, das hier geht bei mir:
Delphi-Quellcode:
var
  Succ: Boolean;
begin
  with TRegExpr.Create do
  try
    ModifierG := false;
    Expression := '<img .*src="([^"]*)"';
    InputString := Memo1.Text;
    Succ := Exec;
    while Succ do
    begin
      showmessage(Match[1]);
      Succ := ExecNext;
    end;
  finally
    Free;
  end;
end;

nimmersattXD 4. Jun 2009 12:38

Re: wie benutze ich regular expressions?
 
also das is ne index.html im moment mit der ich austeste, da is auch java drin un alles! ansonsten muss ich dann auch htmlms durchsuchen!

ich hab deins jetzt noch mal bei mir eingesetzt und jetzt kommen bei mir die ganzen src tags raus, aber auch links und tabellen! das ist auf jedenfall schonmal eine verbesserung zu meinem, aba leider noch nicht das was ich brauche!

das was ich rausbekommen moechte ist konkret: bildname.jpg (zum Bleistift :))

nat 4. Jun 2009 12:45

Re: wie benutze ich regular expressions?
 
und genau das bekomme ich bei mir :)
poste hier ma den quelltext von deinem html.
dann kann ich das auch mal testen.

nimmersattXD 4. Jun 2009 12:50

Re: wie benutze ich regular expressions?
 
mist das wuerd ich gern machen, aber ich glaub das is betriebsintern :(


hab das jetzt aber mal ueber ne htmlm laufen lassen und da kommt das raus:

[img]/at/app_pic/sapcer.gif[/img]</td>

nat 4. Jun 2009 12:52

Re: wie benutze ich regular expressions?
 
kannst du nich schnell mal n auszug nehmen und die texte/links austauschen? dann is doch nichts mehr drin!
wie gesagt, bei mir klappt das alles problemlos. du achtest auch darauf Match[1] zu nehmen statt
Match[0]? in Match[0] ist der img-tag, in Match[1] nur der dateiname!

nimmersattXD 4. Jun 2009 13:00

Re: wie benutze ich regular expressions?
 
aaaaaah das wusst ich nicht mit dem match[1] jetzt sieht das schon besser aus :D aber leider is noch der pfad mit dabei! bekomm ich den noch irgendwie weg? wenn nich muss ich damit weiterarbeiten!

nahpets 4. Jun 2009 13:04

Re: wie benutze ich regular expressions?
 
Hallo,

versuche es mal bitte mit
Delphi-Quellcode:
ModifierI := True;
ModifierG := false;
ModifierM := false;
ModifierS := false;
ModifierX := false;
Expression := '<img .*src=".*"';
Zum Testen habe ich diese Seite hier aus der DP, in der wir gerade Schreiben, genommen, eventuell könnt Ihr euch zum Testen ja erstmal auf diese Seite einigen, um gleiche Ausgangsvorausetzungen zu haben.
Das Problem sind vermutlich Bilder, die gleichzeitig als Links genutzt werden, bzw. Bilder, hinter deren Tag weitere Tags folgen, die Hochkommata enthalten.

Stephan

nat 4. Jun 2009 13:22

Re: wie benutze ich regular expressions?
 
naja, das is ja schnell gemacht...
- letzte position von / ermitteln
- wenn gefunden von da bis ende des strings kopieren
das sollte man auch ohne regex hinkriegen :)

nimmersattXD 4. Jun 2009 13:23

Re: wie benutze ich regular expressions?
 
schnell gemacht?? sowas hab ich noch gar nich gemacht! ich hab vor kurzen ne funktion pos() gesehen! damit meinst du?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:17 Uhr.
Seite 2 von 6     12 34     Letzte »    

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