Requisito previo: coincidencia de patrones con expresión regular
En este artículo, necesitaremos aceptar una string y debemos verificar si la string contiene alguna URL. Si la URL está presente en la string, diremos que la URL se encontró o no e imprimiremos la URL respectiva presente en la string. Usaremos el concepto de Expresión Regular de Python para resolver el problema.
Ejemplos:
Input : string = 'My Profile: https://auth.geeksforgeeks.org/user/Chinmoy%20Lenka/articles in the portal of https://www.geeksforgeeks.org/' Output : URLs : ['https://auth.geeksforgeeks.org/user/Chinmoy%20Lenka/articles', 'https://www.geeksforgeeks.org/'] Input : string = 'I am a blogger at https://geeksforgeeks.org' Output : URL : ['https://geeksforgeeks.org']
Para encontrar las URL en una string determinada, hemos utilizado la función findall() del módulo de expresiones regulares de Python . Esto devuelve todas las coincidencias no superpuestas del patrón en la string, como una lista de strings. La string se escanea de izquierda a derecha y las coincidencias se devuelven en el orden encontrado.
# Python code to find the URL from an input string # Using the regular expression import re def Find(string): # findall() has been used # with valid conditions for urls in 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] # Driver Code string = 'My Profile: https://auth.geeksforgeeks.org/user/Chinmoy%20Lenka/articles in the portal of https://www.geeksforgeeks.org/' print("Urls: ", Find(string))
Producción:
Urls: ['https://auth.geeksforgeeks.org/user/Chinmoy%20Lenka/articles', 'https://www.geeksforgeeks.org/']
Publicación traducida automáticamente
Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA