No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Adquiere por un a帽o todos los cursos, escuelas y certificados por un precio especial.

Antes: $249

Currency
$219/a帽o

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comprar ahora

Termina en:

1D
19H
20M
3S

Mails

16/29
Recursos

Quedamos en que ya podemos definir URLs, y dentro de las URLs est谩n los dominios. No es infalible, pero es muy 煤til para detectar la gran mayor铆a de errores que cometen los usuarios al escribir sus emails.

Aportes 94

Preguntas 7

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Transcribo los correos de la pr谩ctica para que s贸lo los copien y peguen:

[email protected]
[email protected]
dominio.com
[email protected]
[email protected]
[email protected]
[email protected]

Cuando se habla de error de capa 8, se refiere al error que sucede (entre el teclado y la silla). osea, TU

Email

esto.es.un.mail+gmail@mail.com
esto.es_un.mail@mail.com
esto.es_un.mail+complejo@mail.com
dominio.com
rodrigo.jimenez@yahoo.com.mx
ruben@starbucks.com
esto_no$es_email@dominio.com
no_se_de_internet3@hotmail.com

Patron

[\w\._]{5,30}\+?\w{0,10}@[\w\-\.]{3,}\.\w{2,5}

Explicaci贸n

  • [\w\._]{5,30} => que contengan de 5 hasta 30 caracteres alfanum茅ricos incluyendo _ y el .
  • \+? => puede contener un +
  • \w{0,10} => que contengan de 0 hasta 10 caracteres alfanum茅ricos
  • @ => que contenga una @
  • [\w\-\.]{3,} => que contengan de 3 o mas caracteres alfanum茅ricos incluyendo _ y el .
  • \. => que contenga un .
  • \w{2,5} => que contengan de 2 hasta 5

Viene al caso mencionar que es mejor dividir un gran problema en varios peque帽os para resolverlos y juntar luego todo.

mi expresion:

^[A-z]+[\._\+\w]+@\w+[\.\w]+

Con esto no cuenta este string:鈥渆sto_no%[email protected]

Imprimir y regalarlos jaja

Definitivamente las expresiones regulares son una manera abreviada y potente para ahorrarnos c贸digo y realizar una b煤squeda m谩s r谩pida y concisa.

[\w._]{5,30}+?[\w]{0,10}@[\w.-]{3,}.\w{2,5} Emails

my regex

^[\w\.]{5,30}\+?\w{0,10}@\w{3,}[\.\w{2,5}]+$

Encontre esto en internet y se los comparto:

RegEx email seg煤n w3 org

^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$

implementaci贸n del Estandard Official: RFC 5322:

^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$
[\w\._]{5,30}\+?[\w]{0,10}@[\w\.\-]{3,}\.\w{2,5}$

Expresi贸n para buscar mails

Dejo aqui mi solucion
^[\w\._\+\-]+@[\w\.\-]+\.\w{2,5}$


Le hice este cambio porque dejaba correos sin alias con m谩s de 30 caracteres

Yo lo hice diferente:

[\w\._\-+]{5,30}@[\w\._\-+]{3,}\.\w{2,5}

as铆 me qued贸 a mi

^.*[\.\-\_]*?@.*\.\w{2,5}.(\w{2,5})?$

Hola buenas les comento que esta expresi贸n regular planteada en la clase es buena, pero como bien dice el profe hay que probarla antes de mandarla a producci贸n, viendo a detalle la expresi贸n regular creada que es:
[\w._]{5,30}+?[\w]{0,10}@[\w.-]{3,}.\w{2,5}
Me di cuenta que hace match tambien los emails que empiecen con un punto como por ejemplo:
[email protected]
As铆 que tengan mucho ciudado!

^[\w.-_+]+@\w*.\w{2,}.\w*

Para que el match sea mas preciso, tendr铆a que usarse ^$ para que el match sea un correo correcto ya que en la l铆nea 鈥[email protected]鈥 lo correcto ser铆a que la expresi贸n no hiciera match despu茅s del $, por lo que la expresi贸n mejorada ser铆a, lo mismo que puso el profe pero con ^ al inicio y $ al final:

^[\w\._]{5,30}\+?[\w]{0,10}@[\w\.\-]{3,}\.\w{2,5}$

Esta es una expresi贸n regular que formule para identificar un correo electronico 馃

^[\w\.\+]+@([\w\.]+)$

Los errores capa 8 馃槀馃槀馃槀

El profesor tiene raz贸n en cuanto a los editores de texto, en mi caso que uso el Visual Studio Code, tambi茅n falla en seleccionar el 鈥[email protected]鈥, pero s铆 utilizo un comando de Power Shell en Windows, si queda seleccionado. 脡ste ser铆a la forma:

type filtro.txt | Select-String -CaseSensitive -Pattern 鈥楡[\w.-]{3,}?.\w{2,5}鈥

El comando Select-String si logra seleccionar la cadena con 鈥.mx鈥 tal como est谩 el Regex.

^[\S*]{5,30}@[\w]+\.[\w\.]+

Yo encontre esta solucion, creo esta bien, si le encutran fallas aganmelo saber.

Me esta cambiando totalmente la opini贸n que ten铆a de las expresiones regulares. Buen铆simo el curso.

Mi expresi贸n sencilla y que pasa todo los test de formatos de correo electr贸nico

^[\w\-_\.\+]+@\w+\.\w{2,5}[\.\w{2,5}]+

faltar铆a agregar la validaci贸n para un dominio bastante popular en China: 126 y 163 com

Es increible la forma en que el profesor Alberto explica las expresiones regulares. Ahora si me siento iluminado con sus explicaciones. A seguir aprendiendo

Mi expresi贸n regular:

[\w\.\+]{5,}@[\w]{3,}\.\w*[\.\w]*

Yo lo hice as铆

"[\w-\.\+]+@([\w-]{2,}\.)+[\w-]{2,}"
[\w\.\-\+]{5,30}@[\w+\.]+

El siguiente codigo detecta todo menos: [email protected]

ya que al no ser un emaill correcto no nos interesa ubicarlo a menos que espectificamente estemos buscando entradas que fueron similares a lo que seria un email.

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('[\w\.\_\-]{5,30}\+?[\w]{0,10}?@[\w\.\-]{3,}?\.\w{2,5}\.?\w?\w?', fh):
    print(line)
/[\w\._]{5,30}\+?[\w]{0,10}@[\w\.\-]{3,}\.\w{2,5}/g

[email protected]
[email protected]
dominio.com
[email protected]
[email protected]
esto_no[email protected]
[email protected]

Para encontrar emails:
[\w._]{5,30}+?\w*@\D{3,}

Al patron de correo que muestra el profe, seria util agregarle el final de linea, para evitar que tenga caracteres pegados por accidente el correo al final

[\w\._]{5,30}\+?[\w]{0,10}@[\w.-]{3,}\.\w{2,5}$

Les comparto una regex que me sirvo para el mail
\w+@[\w.-]{3,}?.\w{2,5}
y para que incluya 鈥.鈥 y 鈥淿鈥 ahi va otra:
\w+.?\w+@[\w.-]{3,}?.\w{2,5}.\w{2}

yo hice esta y tambi茅n funciona

[\w.+]{3,30}@[\w.-]{3,}.\w{2,5}

Mi aporte el cual no toma la linea 73 que no es un correo

^[\w_.+]+@\w{3,}.\w{3,}.[\w{2,2}]$

Todo muy bien explicado

Mi ejemplo:

^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$

yo utilic茅 esta

^[\w\.\-\d\_\+]+@[\w\.]+$
  • mails: [\w\._]{5,30}\+?[\w]{0,10}@[\w\.\-]{3,}\.\w{2,5}
  • usuarios: [\w\._]{5,30}\+?[\w]{0,10}@ -> Tenemos una clase que me permita: Cualquier caracter que sea palabra, que tenga entre 5 y 30 caracteres, posteriormente tener un s铆mbolo de 鈥+鈥 (opcional) y que esta sea compuesta entre 0 y 10, el 鈥楡鈥 es obligatorio

TLD - top level domain

Yo: 驴es o no es?
Profesor: es y no es

Todo un Crack, en diferentes proyectos siempre me he encontrado con las expresiones regulares y francamente prefer铆a darle la vuelta a las Regex y buscar otra soluci贸n, ahora veo que era mas f谩cil y eficaz de lo que parece!

Mi soluci贸n 馃槈
([a-z._+0-9])+@(([a-z.])+){1,2}

  • Dominio completo
@[\w\-\.]{3,}\.\w{2,5}$
  • Correo electr贸nico (+ usuario):
[\w\._]{5,30}\+?[\w]{0,10}@
  • Email:
[\w\._]{5,30}\+?[\w]{0,10}@[\w\-\.]{3,}\.\w{2,5}$

No para son para nada complejas.

Esta fue mi soluci贸n:

^[\.\w_]{5,30}\+?\w{0,10}@\w{3,}[\.\w]+$

Creo que esto es valido鈥 (creo jajaja)

([\$?\w\.\+]{1,})?@[\w\.\-]{3,}?\.\w{2,5}\.?([\w\.]{2})?

este es mi expresion regular de los emails que estuve practicando con Alberto posdata espero que este bien jeje

<code>
[\w\.?]{5,30}\@[\w\.\-][\w][\w][\w]\.[\w][\w][\w] 

Las expresiones regulares lo son todo.

mails: [\w._]{5,30}+?[\w]{0,10}@[\w.-]{3,}.\w{2,5}

[\w._]{5,30}+?[\w]{0,10}@[^\d][\w.-]{3,}.\w{2,5}

Simplificando la b煤squedas.
Solamente Dominios:
-> @.*.com[\W].*$
Solamente nombres de usuario:
-> [\w\._帽]{5,30}@
E-mails Completos:
-> [\w\._帽]{5,30}@.*.com[\W].*$

El correo de Freddy no entra en esta expresi贸n regular.
.
Mi correo personal es [email protected], tampoco entrar铆a

^\w{1,30}.@\w{2,}..\w{2,5}$
que tal les parece?

No entend铆 porque el + va por fuera de la primera clase, por que no se puede armar asi:

[\w._+], si se desea lo mismo, que antes del @ pueda tener estos caracteres. Y Adicional en que cambia que se le ponga o no el ?, entend铆 el concepto, pero no lo comprendo.

^.*[\.\-\_]*?@.*\.\w{2,5}.(\w{2,5})?$

Esta es la expresi贸n regular que utilizo para validar los inputs con email y ha sido por efectiva.

[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$

JAJAJA se sintio es odio por Java

Ligeramente diferente:

^[\w\._]{5,30}\+?[\w]{0,10}@\w{2,}\.\w{2,}(\.\w*)?$

Me parece bastante curioso porque en mi Visual Studio Code no marca lo siguiente:

"[email protected]": con lo indicado en la clase no me marca la parte antecedente al 鈥+鈥, pero modificando la expresi贸n regular retirando el 鈥+鈥 y coloc谩ndolo despu茅s del 鈥溾 s铆 funciona, quedando de la siguiente manera:
[\w._+]{5,30}?[\w{0,10}]@[\w.-]{3,}.\w{2,5}

[email protected]鈥: con lo indicado en la clase no me marca todo el correo debido a que en la parte 鈥渰5,30}鈥 presiento que se indica que los valores son >5 y <30 indicando que los valores deber谩n ser 6 a 29.

No s茅 si alguien tendr谩 el mismo problema, pero me parece correcto indicarlo por si las dudas.

\b[\w-]+(?:\.[\w]+){0,2}@[\w]+(?:\.[\w]+)*\b

Recomiendo generar data random de correos, yo descargue 1000 registros de la pagina mockaroo para realizar las pruebas correspondientes y la expresi贸n la deje de la siguiente manera
[\w.]{2,30}+?\w{0,10}@[\w-]{1,}.\w{1,5}.?\w{0,5} 馃槂

Excelente.

Yo lo prob茅 as铆:
[a-zA-Z\.\-\_0-9]{1,}?@[\w\.\-]{3,}\.\w{2,6}

Luego lo prob茅 as铆: [\w.-_]{1,}?@[\w.-]{3,}.\w{2,6}

^[\w.\-]{2,}?\+?[\w]{0,10}@.*$

muchas gracias

Bacan!

//correccion para aceptar com.mx, com.edu etc. solo eliminamos el ? del parametro dominio
[\w\._-]{5,30}\+?[\w]{0,10}@[\w\.\-]{3,}\.\w{2,5}

@\w+.\w*.?\w+

simbolos mas, simbolos menos, yo use esta expresion

^[\w].{2,30}[\.\-_]?@[\w\.\-].*[\.\w]{2,5}$

la mia 馃槃

\w+[^\w]?\w*@\w+\.\w{3,}```

un compa帽ero ya nos ayudo con los correos 馃槂 https://platzi.com/comentario/1306574/

Error de Capa 8

Correcci贸n por si buscan que no les selecciones el correo que no es email:

^[\w\._]{5,30}\+?[\w]{0,10}@[\w\.\-]{3,}\.\w{2,5}$

Solo le agregu茅 el inicio y cierre de tupla

Exactamente conocer c贸mo se filtran y organizan los correos electr贸nicos nos servir谩 para hacer mejores proyectos. A continuaci贸n, les comparto una de las expresiones regulares que encontr茅 para los mails:
聽聽聽

En mi caso decid铆 reducir la cantidad de caracteres que pueden haber antes del @, porque mi correo tiene s贸lo una letra 馃ぃ.

^[\w\.\-\+]{1,40}@[\w\.]{4,30}$

Con esta expresi贸n no es necesaria agregar los digitos despues del +. Ademas corrige el bug que acepta m谩s de 30 caracteres:

^[\w\.\-_\+]{5,30}@[\w\.\-]{3,}\.\w{2,5}$

Con esta expresi贸n solo acepta los 30, inlcuyendo correos con el signo +

Gracias @Beco por lo compartido, ahroa que me encuentre de nuevo las regex en los cursos de machine learning haciendo scraping,los voy a entender a plenitud.

El curso es de hace un par de a帽os, por tanto se debe tener en cuenta que ahora si hay correos de 1 o 2 letras, ej .el correo de Leonidas Esteban ([email protected])

Mails

  • Dominio: @[\w\.\-]{3,}\.\w{2,5}$
  • Usuario: [\w\._]{5,30}\+?[\w]{0,10}@

#masclaronopuedesergraciasalcocer

Mi regex para encontrar mails:

^[\w\-\.\+]{5,35}@[\w\-\.\+]+$

Resumen:
Clase usuario de email
[\w._]{5,30}+?[\w]{0,10}@
Expresado de forma natural:
Esta clase nos permite antes del @ cualquier caracter que sea palabra (digitos y letras) que tenga en 5 y 30 caracteres. Opcionalmente un simbolo + para gmail y que este compuesta en tre 0 y 10 caracteres.

Clase dominio de email
@[\w.-]{3,}.\w{2,5}
Expresado de forma natural:
Esta clase nos permite despues del @ cualquier caracter que sea palabra (digitos y letras) que incluya un punto, un guion, que sea de mas de 3 caracteres que sea lo mas corto posible y con la condicion que debe terminar en un punto y que nos tome el TLD de 2 a 5 caracteres

Expresion completa de un correo electronico:
[\w._]{5,30}+?[\w]{0,10}@@[\w.-]{3,}.\w{2,5}

Luego del 鈥+鈥 se pueden aceptar 40 caracteres en vez de 30, para solucionar esto podemos usar esta expresi贸n :

^([\w\._](\+[\w])?){5,30}@[\w\.\-]{3,}\.\w{2,5}$

As铆 se asegura de que siempre haya como m谩ximo 30 caracteres.

Muy interesante este tema par poder hacer match con los correos

14. Mis apuntes sobre: 鈥淢ails鈥

Mi propuesta al problema del mail

^[\w+.*]{5,30}@\w+.\w+.?\w*$

Propuesta del profesor:

[\w\._]{5,30}\+?[\w]{0,10}@[\w\-\-]{3,0}\-\w{2,5}