AGB  ·  Datenschutz  ·  Impressum  







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

TPerlRegex sehr langsam

Ein Thema von luke2 · begonnen am 18. Mär 2010 · letzter Beitrag vom 13. Apr 2010
Antwort Antwort
Seite 2 von 2     12   
luke2

Registriert seit: 17. Jun 2009
117 Beiträge
 
#11

Re: TPerlRegex sehr langsam

  Alt 18. Mär 2010, 15:29
OK, Danke mach ich. Wenn das damit echt schneller geht, schmeiss ich das Perl Dings runter und mache es damit.
Angehängte Dateien
Dateityp: txt ips_789.txt (585,6 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#12

Re: TPerlRegex sehr langsam

  Alt 18. Mär 2010, 16:23
Der obige Regex braucht hier nicht mal eine Sekunde (Das Schreiben ins Memo dauert aber ein paar Sekunden):
Delphi-Quellcode:
var
  M: IMatchCollection;
  N: TStringList;
  i: Integer;
begin
  N := TStringList.Create;
  with TStringList.Create do
  try
    LoadFromFile('ips.txt');
    with RegExCreate('(\d{1,3}(?>\.)){3}(?>\d{1,3})') do
    begin
      M := Matches(Text);
      for i := 0 to M.Count - 1 do
        N.Add(M.Items[i].Value)
    end;
    Memo1.Lines.Assign(N);
  finally
    Free;
    N.Free;
  end;
Hast Du nicht so etwas wie eines "Matches" Funktion bei TPerlRegEx, die alle Resultate auf einmal liefert?

Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
luke2

Registriert seit: 17. Jun 2009
117 Beiträge
 
#13

Re: TPerlRegex sehr langsam

  Alt 18. Mär 2010, 16:36
OK, Danke. Kannst du die von dir umgeschrieben Unit für Delphi2010 evtl. noch kurz anhängen? Dann tausche ich das direkt in meinem Projekt aus.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#14

Re: TPerlRegex sehr langsam

  Alt 18. Mär 2010, 21:01
Moin,

Ich weiß grad nicht wie das Lizenz-technisch mit der Weitergabe der modifizierten Dateien aussieht, müsste ich morgen oder so mal schauen.

Aber die Konvertierung war echt simpel. Einfach alle Typen wie genannt ersetzt - sollte nicht länger als 30 Minuten dauern. Beispiele zur Verwendung der Unit findest Du übrigens in meinem PHP Inspektor-Projekt (siehe Link in der Signatur, da ist allerdings noch die alte DLL/Units der Bib dabei)...

Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
luke2

Registriert seit: 17. Jun 2009
117 Beiträge
 
#15

Re: TPerlRegex sehr langsam

  Alt 18. Mär 2010, 21:36
Das wäre nett, wenn nicht wäre das auch nicht so schlimm, dann bastle ich mir das selbst zusammen.

Jedenfalls danke für die Hilfe.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#16

Re: TPerlRegex sehr langsam

  Alt 13. Apr 2010, 09:43
Zitat von luke2:
Diese Komponente basiert doch auch auf der pcre.dll und kapselt nur die Aufrufe, deshalb verstehe ich nicht, wieso das so langsam ist
Die pcre.dll kann nur Ansi/UTF-8 und dein Delphi ist Unicode,
da kommen dann noch einige UTF-8<->Unicode-Umwandlungen mit rein, aber so sehr sollten diese auch nicht ausbremsen, falls sie richtig platziert sind.

Oder wurde diese TPerlRegex im D2009/D2010-Port nur auf Ansi begrenzt? (hab noch nicht nachgesehn)

Aktuell kann eigentlich keine Lib nativ mit Unicode umgehn.

(selbst wenn es eine Ansi-Datei ist, wird dieser über die StringList nach Unicode umgewandelt)

@mirage228:
Wenn es eine OpenSource-Lib ist und man frei an die (Original)-Quellcodes rankommt, dann sollte es keine Probleme geben. Es müßte nur erwähnt werden, das es kein Original ist.

Oder du gibts nur eine Änderungsanweisung raus und jeder ändert es sich selber.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 15:13 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