Thema: Delphi TRegExp und URLs

Einzelnen Beitrag anzeigen

Delphi-Coder

Registriert seit: 8. Jan 2003
Ort: Greifswald / Stralsund
151 Beiträge
 
Delphi 7 Enterprise
 
#1

TRegExp und URLs

  Alt 15. Jun 2007, 13:19
Hallo,

ich hab ein kleines Problem mit TRegExp. Ich will aus einem String alle URLs auslesen und mache das bisher mit folgendem regulärem Ausdruck (aus der Demo bei TRegExp):

Delphi-Quellcode:
URLTemplate =
   '(?i)'
   + '('
   + '(FTP|HTTP)://'             // Protocol
   + '|www\.)'                   // trick to catch links without
                                 // protocol - by detecting of starting 'www.'
   + '([\w\d\-]+(\.[\w\d\-]+)+)// TCP addr or domain name
   + '(:\d\d?\d?\d?\d?)?'        // port number
   + '(((/[%+\w\d\-\\\.]*)+)*)'  // unix path
   + '(\?[^\s=&]+=[^\s=&]+(&[^\s=&]+=[^\s=&]+)*)?'
                                 // request (GET) params
   + '(#[\w\d\-%+]+)?'; // bookmark
Nun kommt es aber vor, dass URLs dabei sind, die dieses Format haben:

Zitat:
http://www.testdomain.de/bla/{bla bla bla}Datei.jpg
Diese werden von dem regulärem Ausdruck aber nicht zurück gegeben. Wie kann ich den Ausdruck erweitern, um auch solche
URLs zu erfassen? (Ich denke mal, es liegt an den geschweiften Klammern und/oder den Leerzeichen!)

Viele Grüße,
Delphi-Coder
  Mit Zitat antworten Zitat