RE
Verfasst: Mittwoch 29. Juni 2005, 13:19
Hab ein RE Problem. Ich möchte URL's in Texten zu einem echten HTML-Link machen. Allerdings allerdings soll der letzte Beispiellink ( "Das deutsche Python-Forum":http://www.python-forum.de ) davon unberührt bleiben!
Der letzte re.sub() geht zwar eigentlich schon, nur die erste URL wird dabei auch ausgeschlossen
Nur wenn ich dem Textblock irgendein Zeichen vorsetzte geht's so wie ich es haben will... Aber das ist ein doofer Workaround...
Code: Alles auswählen
import re
txt = """http://keinserver.dtl
ftp://keinserver.dtl
http://www.python-forum.de
"Das deutsche Python-Forum":http://www.python-forum.de"""
print txt
print "="*80
print re.sub(
r"""
(http|ftp)://(\S+)
(?uisx)""",
r'<a href="\1://\2">\1://\2</a>',
txt
)
print "-"*80
#~ txt = " "+txt # Hiermit geht's...
print re.sub(
r"""
([^:])
(http|ftp)://(\S+)
(?uimx)""",
r'\1<a href="\2://\3">\2://\3</a>',
txt
)
Code: Alles auswählen
http://keinserver.dtl
ftp://keinserver.dtl
http://www.python-forum.de
"Das deutsche Python-Forum":http://www.python-forum.de
================================================================================
<a href="http://keinserver.dtl">http://keinserver.dtl</a>
<a href="ftp://keinserver.dtl">ftp://keinserver.dtl</a>
<a href="http://www.python-forum.de">http://www.python-forum.de</a>
"Das deutsche Python-Forum":<a href="http://www.python-forum.de">http://www.python-forum.de</a>
--------------------------------------------------------------------------------
http://keinserver.dtl
<a href="ftp://keinserver.dtl">ftp://keinserver.dtl</a>
<a href="http://www.python-forum.de">http://www.python-forum.de</a>
"Das deutsche Python-Forum":http://www.python-forum.de
