Voraussetzung: Mustervergleich mit regulärem Ausdruck

In diesem Artikel müssen wir eine Zeichenfolge akzeptieren und prüfen, ob die Zeichenfolge eine URL enthält. Wenn die URL in der Zeichenfolge vorhanden ist, sagen wir, dass die URL gefunden wurde oder nicht, und drucken die entsprechende URL, die in der Zeichenfolge vorhanden ist. Wir werden das Konzept des regulären Ausdrucks von Python verwenden, um das Problem zu lösen.

Beispiele:

Eingabe: string = 'Mein Profil:
https://auth.geeksforgeeks.org/user/Chinmoy%20Lenka/articles
im Portal von http://www.geeksforgeeks.org/ '
Ausgabe: URLs: ['https://auth.geeksforgeeks.org/user/Chinmoy%20Lenka/articles',
'http://www.geeksforgeeks.org/']
Eingabe: string = 'Ich bin ein Blogger unter https://geeksforgeeks.org'
Ausgabe: URL: ['https://geeksforgeeks.org']

Um die URLs in einer bestimmten Zeichenfolge zu finden, haben wir die Funktion findall() aus dem Modul für reguläre Ausdrücke von Python verwendet . Dies gibt alle nicht überlappenden Übereinstimmungen des Musters in der Zeichenfolge als Liste von Zeichenfolgen zurück. Die Zeichenfolge wird von links nach rechts gescannt, und Übereinstimmungen werden in der angegebenen Reihenfolge zurückgegeben.



import re 
  
def Find(string): 
  
    
    
    regex = r"(?i)\b((?:https?://|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'\".,<>?«»“”‘’]))"
    url = re.findall(regex,string)       
    return [x[0] for x in url] 
      
string = 'My Profile: https://auth.geeksforgeeks.org/user/Chinmoy%20Lenka/articles in the portal of http://www.geeksforgeeks.org/'
print("Urls: ", Find(string)) 

Ausgabe:

URLs: ['https://auth.geeksforgeeks.org/user/Chinmoy%20Lenka/articles',
'http://www.geeksforgeeks.org/']