Solución al Ejercicio: Encontrar URL
📋 Copiar código
import re
def encontrar_url(texto):
"""
Encuentra todas las URLs que comienzan con http:// o https:// en un texto.
Args:
texto: La cadena de texto de entrada.
Returns:
Una lista de todas las URLs encontradas.
"""
urls = re.findall(r"https?://[\w\d./-]+", texto)
return urls
# Ejemplos de uso
texto1 = "Visita mi sitio web en http://www.example.com o https://subdominio.example.org/pagina."
resultado1 = encontrar_url(texto1)
print(f"URLs en '{texto1}': {resultado1}")
texto2 = "Este texto no contiene URLs."
resultado2 = encontrar_url(texto2)
print(f"URLs en '{texto2}': {resultado2}")
texto3 = "También puedes mirar http://blog.example.net."
resultado3 = encontrar_url(texto3)
print(f"URLs en '{texto3}': {resultado3}")
texto4 = "URL con puerto: http://localhost:8080."
resultado4 = encontrar_url(texto4)
print(f"URLs en '{texto4}': {resultado4}")
texto5 = "URL con parámetros: https://example.com/index.php?id=123."
resultado5 = encontrar_url(texto5)
print(f"URLs en '{texto5}': {resultado5}")
texto6 = "ftp://algo.com no es una URL válida para esta función."
resultado6 = encontrar_url(texto6)
print(f"URLs en '{texto6}': {resultado6}")
texto7 = ""
resultado7 = encontrar_url(texto7)
print(f"URLs en '': {resultado7}")
Explicación del Código:
-
Importa el módulo re
:
Se utiliza para trabajar con expresiones regulares.
-
Función encontrar_url(texto)
:
- Utiliza la función
re.findall(patrón, cadena)
para encontrar todas las coincidencias
del patrón
en la cadena
de texto.
- El patrón de la expresión regular
r"https?://[\w\d./-]+"
se define de la siguiente manera:
https?://
: Coincide con
"http://" o "https://". El ?
hace que la 's' sea
opcional.
[\w\d./-]+
: Coincide
con uno o más (+
) caracteres que son:
\w
: Caracteres de
palabra (letras, números, guion bajo).
\d
: Dígitos (0-9).
./-
: Los
caracteres punto, barra inclinada y guion literalmente.
- La función
re.findall()
devuelve una lista de todas las subcadenas que coinciden con el patrón
(en este caso, todas las URLs encontradas que cumplen con el criterio).
Ejemplos de Uso:
Los ejemplos muestran cómo la función extrae las
URLs que comienzan con http://
o https://
de
diferentes cadenas de texto. Se incluyen casos con múltiples URLs, URLs con
subdominios, puertos y parámetros, así como casos sin URLs o con URLs que
utilizan otros protocolos como ftp://
.