Python: Verwenden regulärer Ausdrücke zum Extrahieren von URLs aus Zeichenketten
Gegeben ist eine Zeichenkette, die URL-Adressen enthält; wir müssen reguläre Ausdrücke verwenden, um die URLs aus der Zeichenkette zu extrahieren.
Beispiel
import re
def Find(string):
# findall() findet Zeichenketten, die mit dem regulären Ausdruck übereinstimmen
url = re.findall('https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+', string)
return url
string = 'Die Webadresse von Example ist: https://www.example.com, die Webadresse von Google ist: https://www.google.com'
print("URLs: ", Find(string))
?:Erklärung:
(?:x)
stimmt übereinx, merkt sich aber nicht die Übereinstimmung. Diese Art von Klammer wird als nicht erfassende Klammer bezeichnet, die es Ihnen ermöglicht, Teilausdrücke zu definieren, die mit Operatoren für reguläre Ausdrücke verwendet werden. Betrachten Sie dieses Beispiel/(?:foo){1,2}/. Wenn der Ausdruck/foo{1,2}/ ist, wird {1,2}nur auf das letzte Zeichen 'o' von 'foo' angewendet. Wenn nicht erfassende Klammern verwendet werden, dann wird {1,2} auf das gesamte Wort 'foo' angewendet.
Das Ausführen des obigen Codes erzeugt die folgende Ausgabe:
Urls: ['https://www.example.com', 'https://www.google.com']Andere Erweiterungen
Python3-Beispiele