Das kann man immer wieder gut gebrauchen: Die Überprüfung ob eine Zeichenkette eine korrekte URL ist.

def is_valid_url(url):
"""Check des String url"""
validUrl = """
^(http|https)://[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}(([0-9]{1,5})?/?.*)$"""

if re.match(validUrl, url):
return True
else:
return False


Um eine völlige Sicherheit zu erreichen, müsste man die TLD in einem zweiten Schritt gegen eine Datenbank mit gültigen TLD laufen lassen.

(Gibt es für die Problemstellung nicht auch eine "eingebaute" Lösung?)

1 Kommentare
  1. fmat 25. Mai 2009 14:03  

    Die RegEx gilt allerding nur für URL _ohne_ Anmeldedaten.

    So etwas wie http://AnmeldeName:AnmeldePasswort@www.PhishingBank.com wird damit nicht (korrekt) erkannt.

    Just my 2 Cents.

    fmat