Python Utiliser des expressions régulières pour extraire des URL à partir de chaînes
Étant donné une chaîne contenant des adresses URL, nous devons utiliser des expressions régulières pour extraire les URL de la chaîne.
Exemple
import re
def Find(string):
# findall() trouve les chaînes qui correspondent à l'expression régulière
url = re.findall('https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+', string)
return url
string = 'L'adresse web d'Example est : https://www.example.com, l'adresse web de Google est : https://www.google.com'
print("Urls: ", Find(string))
?:Explication :
(?:x)
correspondxmais ne mémorise pas la correspondance. Ce type de parenthèse est appelé parenthèse non capturante, ce qui permet de définir des sous-expressions à utiliser avec des opérateurs d'expression régulière. Regardez cet exemple/(?:foo){1,2}/. Si l'expression est/foo{1,2}/,{1,2}cela ne s'appliquera qu'au dernier caractère 'o' de 'foo'. Si des parenthèses non capturantes sont utilisées, alors {1,2} s'appliquera au mot entier 'foo'.
L'exécution du code ci-dessus produit la sortie suivante :
Urls: ['https://www.example.com', 'https://www.google.com']Autres extensions
Exemples Python3