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