Python: Verwenden regulärer Ausdrücke zum Extrahieren von URLs aus Zeichenketten

Document 对象参考手册Python3-Beispiele

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']

Document 对象参考手册Python3-Beispiele

Andere Erweiterungen