No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

URLs

15/29
Recursos

Una de las cosas que más vamos a usar en la vida, seamos frontend o backend, serán directamente dominios o direcciones de internet; ya sea direcciones completas de archivo (una url) o puntualmente dominios para ver si es correcto un mail o no.

Aportes 66

Preguntas 5

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

TLD -> Top Level domains, dominio de nivel superior. Es la terminación de una página, puede ser .com, .org, .mx, etc.

Búsqueda:

https?:\/\/[\w\-\.]+\.\w{2,5}

(esta última parte selecciona a los TLD).
Búsqueda la url completa ->

https?:\/\/[\w\-\.]+\.\w{2,5}\/?\S* 

No tiene en cuenta a los espacios en blanco.

Búsqueda “para simplificarte la vida” ->

https?\S*

Es completamente inútil si existen urls no válidas, por ejemplo http-123423312, esta página es básura, ruido, pero con esta búsqueda quedará seleccionada, en un mundo ideal dónde se guardan las urls de la misma forma y sin errores sería idónea, pero dónde existe el error humano puede volverse inútil.

Urls

url: https://www.instagram.com/p/BXB4zsUlW5Z/?taken-by=beco.mx
url: http://instagram.com/p/blablablah
url: http://itam.mx/test
http://instagram.com/p/blablablah
https://www.vanguarsoft.com.ve
http://platzi.com
https://traetelo.net
https://traetelo.net/images archivo.jsp
url: https://subdominio.traetelo.net
url: https://www.instagram.com/p/BXB4zsUlW5Z/?taken-by=beco.mx
url: http://instagram.com/p/blablablah
url: http://itam.mx/test
http://instagram.com/p/blablablah
https://www.google.com.co/
https://sub.dominio.de.alguien.com/archivo.html
https://en.wikipedia.org/wiki/.org
https://cdn-microsoft.org/image/seixo2t9sjl_22.jpg
https://hola.pizza
https://platzi.com/clases/1301-expresiones-regulares/11860-urls9102/ clase


https://api.giphy.com/v1/gifs/search?q=Rick and Morty&limit=10&api_key=DG3hItPp5HIRNC0nit3AOR7eQZAe

http://localhost:3000/something?color1=red&color2=blue
http://localhost:3000/display/post?size=small
 http://localhost:3000/?name=satyam
 http://localhost:3000/scanned?orderid=234
 http://localhost:3000/getUsers?userId=12354411&name=Billy
 http://localhost:3000/getUsers?userId=12354411
http://localhost:3000/search?city=Barcelona

www.sitiodeejemplo.net/pagina.php?nombredevalor1=valor1&nombredevalor2=valor2

Url hasta el TLD

https?:\/\/[\w\-\.]+\.\w{2,5}

Url Completa

https?:\/\/[\w\-\.]+\.\w{2,5}\/?\S* 

Query string

\?\w+-?=.*&?\S$

Lo probe en platzi.com/clases y encontre 2921 links

Excelente clase gracias a este curso ya las expresiones regulares no me parecen chino

https?:\/\/[\w\-\.]+\.\w{2,5}\/?\s*

Apuntes: Una de las cosas que más vamos a usar en la vida, seamos frontend o backend, serán directamente dominios o direcciones de internet; ya sea direcciones completas de archivo (una url) o puntualmente dominios para ver si es correcto un mail o no.

Clase: Las expresiones regulares son muy útiles para encontrar líneas específicas que nos dicen algo muy puntual dentro de los archivos de logs que pueden llegar a tener millones de líneas.

Les comparto la mía, es un gran curso 😄

(https?://)?(www\.)?[A-z0-9_\.]+\.[A-z]{2,3}\/?.*

Para el doble slash se puede poner {}

https?:\/{2}[\w\-\.]+\.\w{2,5}\/?\S*```

Algunos ejemplos:

url: https://www.instagram.com/p/BXB4zsUlW5Z/?taken-by=beco.mx
url: http://instagram.com/p/blablablah
url: http://itam.mx/test
http://instagram.com/p/blablablah
https://www.google.com.co/
https://sub.dominio.de.alguien.com/archivo.html
https://en.wikipedia.org/wiki/.org
https://cdn-microsoft.org/image/seixo2t9sjl_22.jpg
https://hola.pizza
https://platzi.com/clases/1301-expresiones-regulares/11860-urls9102/ clase 

Y Regex:
https?:\/\/[\w\-\.]+\.\w{2,5}\/?\S*

para el doble slash se puede poner {}

https?😕{2}[\w-.]+.\w{2,5}/?\S*

Me parece increíble como es que hasta este curso nunca escuche de estas expresiones regulares, y increíble la forma de enseñarlo el profesor.

Esta fué mi solución. L idea es que lea inicialmente https, el resto es un patrón en el cuál se repiten palabras, guiones, iguales, slash, puntos.

^https?:\/{2}[\w\.\-\/=]+\S*$

13. Mis apuntes sobre: “URLs”

  • 1. Ejemplo regex: Aplicando regex para buscar números telefónicos
https?:\/\/[\w\-\.]+\.\w{2,5}\/?\S*

-Explicación 1: Encuentra y selecciona [match] que sea exactamente una línea que inicie las letras http
y luego siga o no la letra s, luego siga 😕/, luego haya uno o más words, guión (-) o punto (.), luego siga
otro punto (.), luego de 2 a 5 words, luego siga o no el /, y debe seguir algo distinto al espacio en blanco.

Baia, baia, con que con esto me puedo ahorrar un montón de tiempo. 😄

https?:\/\/[\w-\.]+.\w{2,5}\/?\S*

exprecion para buscar urls

import re

fh = open(r"C:\Users\Alfonso Zapata\jupyter\Cursos\Junio 2022\Curso de expresiones regulares - platzi\REGEX-master\liners.txt", "r").read()

fh
for line in re.findall('https?:\/\/\S+\/?\S+', fh):
    print(line)
/https?:\/\/[\w\-\.]+\.\w{2,5}\/?\S*/g

Otro ejemplo de traer las urls:

https?:\/\/[\w.]{1,}\/\w{1,}[\/]?\w{1,}

Se me presenta el caso donde busco todas las URLs dentro de un html, donde una url termina en " o ’ pero no siempre tengo un espacio, por el momento pude traer todas las URLs con las comillas al final, pero lo logro traer estos datos sin ellas, esta es la expresión que utilizo.

https?:.*?["']

Esta es la solución más fácil para encontrar url:

https?😕/\S*

Esta seria otra forma de encontrar URL,
pero me parece mejor la expuesta en clase.

(http|https)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,5}(\/\S*)?

Veo que definitiva las RegEx si son otro problema, que como todo en programación, debe ser repartido en problemas mas pequeñitos para solucionarlo facilmente. La verdad las URL me parecióm algo muy sencillo, o es yo estoy encontrandole el hilo a las regex!

https://regexr.com/6ahju

expression

https?:\/{2}[\w\-\.\/?:\d=& ]+

https?😕/(www.)?[[email protected]:%.+~#=]{2,256}.[a-z]{2,6}\b([[email protected]:%+.~#()?&//=]*)

Expresión

https?:\/\/[\w\.\-]+[:\.]\w{2,5}\/?\S*

esta fue a la solución que yo llegué, espero les sirva.
(si tienen comentarios, o como mejorarlo díganmelo porfa)

http?s?:\/\/[\w\.\-\/\?\=\d:& ]+

Yo lo solucione de esta manera 😃 :

https:\/+\w+\.+.+

![](

Lo hice un poco diferente al profe y funciona, aunque no se si esté omitiendo algo importante.

https?:\/\/[\w\-\.\/]+\S*

Está difícil 😅
https?:\/\/[\w\-\.]+\.\w{2,5}\/?\S* => Ya podemos traer enlaces de internet. Empieza con http, puede o no tener la ‘s’, tiene :// y después palabras, guiones o puntos 1 o más veces, luego palabras entre 2 y 5 dígitos de longitud, puede o no seguir con una ‘/’, y terminar con algo que no sea un espacio.

Buen día.

tengo una duda tengo el siguiente ejemplo:
URLs:
https://www.vanguarsoft.com.ve
http://platzi.com
https://traetelo.net
https://traetelo.net/images archivo.jsp
url: https://subdominio.traetelo.net

Le aplico este y funciona me tomas todas las URLs,
https?😕/[\w-.]+.\w{2,3}/?.\S*

Pero al agregar el inicio y cierre deja de tomar las ultimas 2 urls del ejemplo que están en negrita.
^https?😕/[\w-.]+.\w{2,3}/?.\S*$

Yo busque de esta forma
^https?😕

Muy util a lo que se puede llegar con expresiones regulares, me costó un poco al principio pero ya me estoy acostumbrando, mi expresion:

https?:\/\/\w+[-\.\w]+\/?.*

impresionante las expresiones regulares, pero tengo una duda a la hora de realizar y chequiar la expresion, observe que cuando se coloca * la expresion \w{2,5} pierda su sentido porque cuando colocas en .com mas de 5 caracteres sigue marcando match, e estado pensado en una solucion pero nada.

https?:\/\/[\w\.\-]+\.\w{2,5}\/?\S*```

Tengo una duda:
Al aplicar la expresión regular sin que verifique la línea completa, valida las tres url que tengo abajo:
https?: \ / \ / [\w-.]+.\w{2,6}/?[^\s]*
https://platzi.com/
http://www.google.com/calendar/example.jpg
https://hola.pizza game.jpg

pero si verifico la línea completa ^https?: \ / \ / [\w-.]+.\w{2,6}/?[^\s]*$
esta url ya no es válida:

https://hola.pizza game.jpg

¿a qué se debe esto?

Súper interesante el curso:
https?😕/[\w-.]+.\w{2,5}/?\S* URL

Adjunto configuración adicional para etiquetas HTML.

Mi regex:

^(https?:\/\/)([\w-.]+)(\.[\w]{2,5})(\/|\/[\w_-]+\/?){0,}?$

yo hice estas 2 pero coger la del taken es dificil sin el . al final

https?:\/\/[\w]+\.?[\w]*\.(\w+\/?)+

esta las coge todas

https?:\/\/[\w]+\.?[\w]*\.[\w].+$`

no entiendo por qué esta expresión no se detiene cuando hay puntos intermedios antes del .com

https?:\/\/[\w-.]+\.
Versión para complicarse la vida: 
-> https?:\/\/(www\.)?\w*\.\w{2,5}\/?\S*
Versión para simplificarse la vida:
-> https?\S*

Yo lo hice de otra forma:

https?:\/\/[\w\.\-]+\.?\/?\w\S+

En este link fui a probar que tanto sabía sobre expresiones regulares. No me fue del todo mal pero una de las principales limitaciones que tuve es que me pidieron seleccionar URLs que estuvieran dentro de comillas despues de un href. Ej <a href="platzi.com/clases/1301-expresiones-regulares/">Link</a>. Como harían ustedes una expresión regulares que seleccionara todo lo que va después de un href. Yo no supe hacerlo.

good!

Excelente.

Esta sería otra opción más genérica en caso de querer quedarnos con otro tipo de URLs además de las que utilicen protocolo http o https, como podrían ser protocolos de ftp, ftps, ssh o urls de servidores email.

[a-zA-Z]*:\/\/[a-z\[email protected]]+\.[a-z]{2,5}[\/]?\S*

https?😕/[\w-.]+.\w{2,5}/?\S*

https?://[www\.]?[a-z]+[\.\w+]+[/?\w+-=]*

Con este código considero:

Sólo identifica páginas web HTTP/HTTPS (descarta otros protocolos)
Considera que puede o no existir el "www."
Considera 1 o más coicidencias de “.\w” (por ejemplo, terminaciones “.gob.mx”)
Considera varias iteraciones de subsitios (ejemplo “/sub/contenido.html”)

"https?:\/\/[\w\-\.]+\.\w{2,6}\/?\S*" => Traigo todas las url entre comillas dobles de archivos html.

Utilizado para buscar en Visual Studio

https?:\/\/[\w\-\.]+\.*\/?.*

super

Excelente clase.

Mi solucion

http?s?:?/.?\w+\.?.*

[^url:\s]\w+[:]?[\/\/].*

el ultimo me funciono con esto link

url: https://www.instagram.com/p/BXB4zsUlW5Z/?taken-by=beco.mx
url: http://instagram.com/p/blablablah
url: http://itam.mx/test
http://instagram.com/p/blablablah
dominio.com

La facilidad con la que se van creando las expresiones con el paso de la clases es increible, muy buenos ejemplos y el caso puntual de la S ahorra mucho del codigo a utilizar en Regex

https?:\/\/[\w\-\.]+\.\w{2,5}\/?\S*

Gracias por explicar estos detalles a tener en cuenta en las URL, en mi caso para poder seleccionar todas las URLs de prueba me funciono la siguiente expresión regular:

\w{0,3}:?\s?https?:\/\/[\w\-\.]+\.\w{2,5}\/?\S*

(https?:\/\/)([\w\?\-\=]+[\.\/]?)+

Mi Amada solucion
Expresion: https?:\ / \ /[\w-._]+[^\s]+

URL’s:

https?:\/\/[\w\-\.]+\.\w{2,5}\/?\S*

Creo que puede funcionar esta: https?:\S*

Los TLD’s usados en alfabetos occidentales son palabras de 2 a 18 caracteres alfabéticos, sin embargo los TLD’s Chinos, Árabes, Latínos, Katakana, Hangul son alfanuméricos de más caracteres FUENTE.

Hice una RegExp del archivo txt del IANA de los TLD’s que manejan EN ESTA URL, solo le quité la primera linea del archivo que indica su versión e hice esta RegExp calculando el número de caracteres alfabéticos y llegue a que los TLD’s de alfabetos occidentales (mas que todo, los que provienen del latín) su máximo de caracteres es 18.

^\w{2,18}$

Si prueban la RegExp con 17 como cota superior verán que los matches son menos y si la cota superir es mayor no hay más matches, lo que indica que 18 es el número adecuado para la cota superior; como digo esto lo hice probando hasta que hayé el número indicado.