Solución: ^([A-Ú][a-ú]+\s?){1,5}$
Introducción a las Expresiones Regulares
Todo lo que aprenderás sobre expresiones regulares
¿Qué son las expresiones regulares?
Aplicaciones de las expresiones regulares
Introducción al lenguaje de expresiones regulares
El lenguaje: caracteres, operadores, y construcciones
El caracter (.)
Las clases predefinidas y construidas
Los delimitadores: +, *, ?
Los contadores {1,4}
El caso de (?) como delimitador
Not (^), su uso y sus peligros
Reto: Filtrando letras en números telefónicos utilizando negaciones
Principio (^) y final de linea ($)
Uso práctico de Expresiones Regulares
Logs
Teléfonos
URLs
Mails
Localizaciones
Nombres(?) Reto
Usos avanzados en Expresiones Regulares
Búsqueda y reemplazo
Expresiones Regulares en lenguajes de programación
Uso de REGEX para descomponer querys GET
Explicación del Proyecto
Perl
PHP
Utilizando PHP en la práctica
Python
Java
Java aplicado
JavaScript
`grep` y `find` desde consola
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Convierte tus certificados en títulos universitarios en USA
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Alberto Alcocer (Beco)
Aportes 231
Preguntas 5
Solución: ^([A-Ú][a-ú]+\s?){1,5}$
^[A-ZÁÉÍÓÚ][a-záéíóú]{2,}\s[A-ZÁÉÍÓÚÑ][a-záéíóúñ]{2,}$
PD: Soy de Chile, acá los nombres imposibles existen.
Por si resulta útil, comparto un apunte con otro caso de uso de las expresiones que me ha parecido interesante.
Se trata de utilizar complementos del navegador para buscar dentro de páginas web utilizando expresiones regulares. Dejó aquí el enlace a uno de ellos: Chrome Regex Search
Se puede probar su funcionamiento buscando por el término expresiones regulares en Google y utilizando después esta expresión para buscar con el add-on instalado:
[E|e]xpresi[o?ó?]{1}n(es)?\s([R|e]egular)\1?
Así quedará resaltado el singular/plural de todas las apariciones del término Expresión Regular en la página de resultados o las web consultadas.
^([A-ZÁÉÍÓÚÑ]+[\w.]+ )+([A-ZÁÉÍÓÚÑ]+[\w.]+)$
No he usado \s porque incluye los saltos de línea, así que he puesto un espacio al final del primer paréntesis.
Mi solución incluye todos estos posibles nombres (recopilados de los posteos de los compañeros):
Camilo Sarmiento Gálvez
Alejandro Pliego Abasto
Milagros Reyes Japón
Samuel París Arrabal
Juan Pablo Tafalla
Axel Gálvez Velázquez
Óscar Montreal Aparicio
Jacobo Pozo Tassis
Guillermo Ordóñez Espiga
Eduardo Pousa Curbelo
Ivanna Bienvenida Kevin
Ada Tasis López
Luciana Sáenz García
Florencia Sainz Márquz
Catarina Cazalla Lombarda
Paloma Gallo Perro
Margarita Quesada Florez
Vicente Fox Quesada
Asunción Carballar
Constanza Muñoz
Manuel Andres García Márquez
Iris Graciani
Miguel Ignacio Rodríguez Álvarez
Heli Miguel Robles Álvarez
Verónika Sánchez Ascón
Jhony Ulloa Montalva
Mijahil Barra Li
Kevin David Saldaña Perez
Josie Nathaly Calle Valdiviezo
Paul Thomas Vargas Domínguez
Rodrigo Jiménez Gutiérrez
Jhon Beltrán
Jhon Fredy Beltrán
Jhon Fredy Beltrán León
Ándres Alberto
Juan Carlos Herrera Martínez
Andrés de Jesús Montes Rodríguez
Thais Armada de Medina
María Julia Herrera de Perez
Xi Ping Lu
Jhonnie B. Good Jr
Adriana Villalobos F.
Y no toma ni una línea de ejercicios pasados (dominios, mails, etc)
Pueden generar 10 nombres aleatorios latinos acá https://www.fantasynamegenerators.com/hispanic_names.php
Dejo algunos 👉 apuntes en GitHub ✨ donde encontrarás ejemplos para entender las expresiones regulares sin tanto lío.
Si buscaramos el nombre de Musk
^[A-Z]\s?[Æ]\s?[A-Za-z]{1,}[-]{1,}[0-9]{1,}\s?Musk
X Æ A-12 Musk
El nombre del hijo de Elon Musk rompio paradigmas de las expresiones regulares =D
^([A-ZÁÉÍÓÚÑ][a-zzáéíóúñ]{1,}\s?){1,}
^([A-Úa-ú]+\s?){2,}$
Alguien que me diga una expresion regular para encontrar un conjunto de palabras que empieza con una palabra y que termina en otra, alguien please?
Reto:
Para el siguiente conjunto de datos:
Ruben
Juan Pablo
Marcela
Anny
Camila
Rodrigo
Kevin Z
ert123
Ana Maria Gonzales
E3422
^[A-Z][a-z].+\s?
Me funcionó este expresión ^[a-záéíóúñ]{3,}\s[a-záéíóúñ]{3,}\s[a-záéíóúñ]{3,}$
A mi me funciono esta, sin embargo, asumi que no había tildes.
^[A-Z][a-z]{2,}+\s[A-Z]?[\.a-z]?.*$
Feliz día.
Luciana Rodríguez Castro
Santiago Martínez Gutiérrez
Salomé González Vargas
Matías García Ortíz
Isabella López Moreno
Samuel Gómez Jiménez
Mariana Hernández Rojas
Jerónimo Pérez Muñoz
Gabriela Sánchez Torres
Emmanuel Díaz Ramírez
Mariangel Ramírez Díaz
Emiliano Torres Sánchez
Valentina Muñoz Pérez
Maximiliano Rojas Hernández
Antonella Jiménez Gómez
Mathias Moreno López
Samantha Ortíz García
Sebastián Vargas González
Valeria Gutiérrez Martínez
Martín Castro Rodríguez
María José Rodríguez Castro
Dulce María Martínez Gutiérrez
Sara Sofía González Vargas
Luisa Fernanda García Ortíz
Sara Valentina
María Fernanda García Ortíz
Ana Sofía García Ortíz
Ana Lucía González Vargas
María Camila Ortíz García
María Alejandra Ramírez Díaz
Juan José Vargas González
Miguel Angel Muñoz Pérez
Juan Sebastián Ramírez Díaz
Juan David Díaz Ramírez
Samuel David Vargas González
Juan Pablo López Moreno
Andrés Felipe Muñoz Pérez
Juan Esteban García Ortíz
Juan Diego Muñoz Pérez
Angel David López Moreno
Ef3afga Easfgeas Eefe Enfle
Éf3afga Easfgeas Eefe Enfle
^[A-Z][a-zá-ú]{2,}\s?[A-Z]?[a-zá-ú]{2,}\s?[A-Z]?[a-zá-ú]{2,}\s?[A-Z]?[a-zá-ú]{2,}$
Mi propuesta para nombres “mexicanos”:
^([A-ZÁ-Ú]([a-zá-ú]?){1,}\s?\N){1,}$
Camilo Sarmiento Gálvez
Alejandro Pliego Abasto
Milagros Reyes Japón
Samuel París Arrabal
Juan Pablo Tafalla
Axel Gálvez Velázquez
Óscar Montreal Aparicio
Jacobo Pozo Tassis
Guillermo Ordóñez Espiga
Eduardo Pousa Curbelo
Ivanna Bienvenida Kevin
Ada Tasis López
Luci1ana Sáenz García
Florencia Sainz Márquz
Catarina Cazalla Lombarda
Paloma Gallo Perro
Margarita Quesada Florez
Vicente Fox Quesada
Iris Graciani
Asunción Carballar
Constanza Muñoz
Manuel Andres García Márquez
Ñoño Alberto Galván
alberto Reyes Ñuña
Albeto Rangelñ peralta
A Alberta
C Galpdoa
Ruben
Jhon’s
agüero
Juan Pablo
Marcela
José
Anny
Camila
Rodrigo
rodrigo
Kevin Z
kevin Z
ert123
Ana Maria Gonzales
E3422
4E3422
^([A-Za-z]\S?\s?){2,50}$
Usando JavaScript se filtran los nombres y apellidos de los usuarios teniendo en cuenta obviar los molestos saltos de línea \n.
const text = `
Camilo Sarmiento Gálvez
Alejandro Pliego Abasto
Milagros Reyes Japón
Samuel París Arrabal
Juan Pablo Tafalla
Axel Gálvez Velázquez
Óscar Montreal Aparicio
Jacobo Pozo Tassis
Guillermo Ordóñez Espiga
Eduardo Pousa Curbelo
Ivanna Bienvenida Kevin
Ada Tasis López
Luciana Sáenz García
Florencia Sainz Márquz
Catarina Cazalla Lombarda
Paloma Gallo Perro
Margarita Quesada Florez
Vicente Fox Quesada
Iris Graciani
Asunción Carballar
Constanza Muñoz
Manuél Andres García Márquez
`;
/*
// Primera versión:
const regex =
/^[A-Za-zÀ-ÿ]+\s?[A-Za-zÀ-ÿ]+[\S? ]([A-Za-zÀ-ÿ]+)?[\S? ]([A-Za-zÀ-ÿ]+)/gm;
*/
// Versión final:
const regex = /([A-Za-zÀ-ÿ]+[\S? ?]?){1,4}/gm;
console.log(text.match(regex));
Obtenemos:
[
'Camilo Sarmiento Gálvez',
'Alejandro Pliego Abasto',
'Milagros Reyes Japón',
'Samuel París Arrabal',
'Juan Pablo Tafalla',
'Axel Gálvez Velázquez',
'Óscar Montreal Aparicio',
'Jacobo Pozo Tassis',
'Guillermo Ordóñez Espiga',
'Eduardo Pousa Curbelo',
'Ivanna Bienvenida Kevin',
'Ada Tasis López',
'Luciana Sáenz García',
'Florencia Sainz Márquz',
'Catarina Cazalla Lombarda',
'Paloma Gallo Perro',
'Margarita Quesada Florez',
'Vicente Fox Quesada',
'Iris Graciani',
'Asunción Carballar',
'Constanza Muñoz',
'Manuél Andres García Márquez'
]
Suponiendo que tiene una lista de nombres como la que pasaron en otro comentario.
Camilo Sarmiento Gálvez
Alejandro Pliego Abasto
Milagros Reyes Japón
Samuel París Arrabal
Juan Pablo Tafalla
Axel Gálvez Velázquez
Óscar Montreal Aparicio
Jacobo Pozo Tassis
Guillermo Ordóñez Espiga
Eduardo Pousa Curbelo
Ivanna Bienvenida Kevin
Ada Tasis López
Luciana Sáenz García
Florencia Sainz Márquz
Catarina Cazalla Lombarda
Paloma Gallo Perro
Margarita Quesada Florez
Vicente Fox Quesada
Iris Graciani
Asunción Carballar
Constanza Muñoz
Manuel Andrés García Márquez
Oscar Barajas Tavares
Juan Pérez
Habría que cambiar en los contadores que empiece con 1 hacia infinito o usar el operador “+” para que te tome por ejemplo el nombre “Cayetano Ré”
^([A-Z|Á|É|Í|Ó|Ú|Ñ]+[a-z|á|é|í|ó|ú|ñ]{2,}[\s]?)+$
Mi solución:
^([A-Z][a-z]\s?)$
Pd: aun no pude incluir aquellos con guiones
Tengo un primo cuyo nombre tiene 2 letras, entonces ésta sería mi respuesta:
^([A-zÁ-ú]\s?){1,}[A-zÁ-ú]$
Para validar nombres se puede definir una expresión regular que primero detecte la primera letra como una mayuscula y luego el resto como minuscula más un espacio que pueda o no existir. De la siguiente manera: ^([A-Z\u00C0-\u017F][a-z\u00C0-\u017F]+\s?){1,4}$ Además los caractéres \u00C0-\u017F identifican los acentos.
Para que la expresión regular pueda encontrar los caractéres con acento se puede usar lo siguiente: \u00C0-\u017F de manera que se coloque dentro de la clase: [A-Z\u00C0-\u017F] o [a-z\u00C0-\u017F]
.
.
🚧🚧***SPOILER***🚧🚧
.
.
Así lo hice
.
.
^([A-Z][a-z]* ){1,}[A-Z][a-z]*$
Para estos nombres:
Ruben
Juan Pablo
Marcela
Anny
Camila
Rodrigo
Kevin Z
ert123
Ana Maria Gonzales
E3422
Use esta expresión regular ^([a-zA-Z]+\s?(\d*)?){1,}$
😁
Para los siguientes nombres:
Juan Fernando Pérez del Corral
Valentina Laverde de la Rosa
Óscar de la Renta
Sara Teresa Sánchez del Pinar
Efraín de las Casas Mejía
Julieta Ponce de León
Martín Elías de los Ríos Acosta
Gabriela de la Pava de la Torre
Matías de Greiff Rincón
Manuela del Pino Hincapié
Sebastián del Campo Yepes
Sofía del Río Arango
Ana María de la Peña Posada
Mónica Patricia de Ávalos Mendoza
oscar gutierrez
carlos45
use:
^[A-ZÁÉÍÓÚÑ][a-záéíóúñ].+[A-ZÁÉÍÓÚÑ][a-záéíóúñ].*$
con el resultado:
Compilando los nombres y apellidos que gentilmente han puesto en este chat, presento mi solución (parcial lamento yo), aquí lo tienen al final de la lista.
Ada Tasis López
Adriana Villalobos F.
Alejandro Pliego Abasto
Ándres Alberto
Andrés de Jesús Montes Rodríguez
Asunción Carballar
Axel Gálvez Velázquez
Camilo Sarmiento Gálvez
Catarina Cazalla Lombarda
Constanza Muñoz
Eduardo Pousa Curbelo
Florencia Sainz Márquz
Guillermo Ordóñez Espiga
Heli Miguel Robles Álvarez
Iris Graciani
Ivanna Bienvenida Kevin
Jacobo Pozo Tassis
Jhon Beltrán
Jhon Fredy Beltrán León
Jhonnie B. Good Jr
Jhony Ulloa Montalva
Josie Nathaly Calle Valdiviezo
Juan Carlos Herrera Martínez
Juan Pablo Tafalla
Kevin David Saldaña Perez
Luciana Sáenz García
Manuel Andres García Márquez
Margarita Quesada Florez
María Julia Herrera de Perez
Miguel Ignacio Rodríguez Álvarez
Mijahil Barra Li
Milagros Reyes Japón
Óscar Montreal Aparicio
Paloma Gallo Perro
Paul Thomas Vargas Domínguez
Rodrigo Jiménez Gutiérrez
Samuel París Arrabal
Thais Armada de Medina
Verónika Sánchez Ascón
Vicente Fox Quesada
Xi Ping Lu
^([a-zá-úA-ZÁ-Ú]{2,} ?)+(([A-Z].)+)? : Selecciona todos los nombres, menos ‘Jhonnie B. Good Jr’ que lo hace desde ‘J’ hasta ‘B.’
Aquí te proporciono otra expresión regular para validar nombres de personas, en este caso, permitiendo también la presencia de apellidos compuestos y caracteres acentuados.
import re
nombres_regex = r'^[A-Za-záéíóúÁÉÍÓÚñÑ]+([\s-][A-Za-záéíóúÁÉÍÓÚñÑ]+)*$'
nombre1 = "Juan Pérez Gómez"
nombre2 = "María De La Cruz González-Ruiz"
nombre3 = "José María Velázquez"
if re.match(nombres_regex, nombre1):
print("El nombre 1 es válido")
if re.match(nombres_regex, nombre2):
print("El nombre 2 es válido")
if re.match(nombres_regex, nombre3):
print("El nombre 3 es válido")
La expresión regular busca cadenas que coincidan con el siguiente patrón:
La cadena comienza con una o más letras, incluyendo caracteres acentuados y la letra ñ ([A-Za-záéíóúÁÉÍÓÚñÑ]).
Luego, pueden aparecer cero o más repeticiones de un espacio en blanco (\s) o un guión (-) seguido de una o más letras ([A-Za-záéíóúÁÉÍÓÚñÑ]).
La expresión regular utiliza paréntesis () y el operador asterisco (*) para indicar que el patrón dentro de los paréntesis puede aparecer cero o más veces.
Esta expresión regular valida nombres que contienen letras, espacios en blanco, guiones y caracteres acentuados, permitiendo la presencia de apellidos compuestos. Si la cadena coincide con este patrón, se considera que el nombre es válido.
Solucion al reto usando VSCode:
^[A-Z][a-z]{1,}\s[A-Z][a-z]{1,}$
nota: Los nombres usados por su sevilleta no llevan acento
mi solución la cual creo abarcaría una gran cantidad de nombres en español ya que también cuenta con todos los caracteres especiales
^([A-ZÁÉÍÓÚ][a-záéíóúñ]{2,}\s?){2,4}$
¿Cómo voy? 🤔
^[A-Z][a-záéíó]{2,}\s[A-Z][a-záéíó]\s?[A-Za-záéíó]{0,}(\s?[A-Z]?[a-záéíó]{0,}){0,8}
Mi intento de resolver el Reto:
Expresion regular para Nombre:
^([a-zA-ZáéíóúÁÉÍÓÚÑñ] ?)+$
sin acentos:
^(\w{1,} ?)+$
^([a-zA-Z] ?)+$
Comparto mi solución al reto
^([A-ZÁÉÍÓÚÑ][a-záéíóúñ]+ ?){2,4}$
Los nombres no pueden tener digito
El muchacho de Colombia llamado 6 aparece
El profesor: 🙇♂️🙇♂️🙇♂️
Hola! Dejo mi solución. Funciono todo como queria, pero quedo un chorizo larguísimo al incluir la ñ, los acentos y los demás signos en las letras.
^[A-ZÄËÏÖÜÁÉÍÓÚÂÊÎÔÛÀÈÌÒÙ]{1,1}[a-zñäëïöüáéíóúáéíóúâêîôûàèìòù]{2,11}\s[A-ZÄËÏÖÜÁÉÍÓÚÂÊÎÔÛÀÈÌÒÙ]{1,1}[a-zñäëïöüáéíóúáéíóúâêîôûàèìòù]{2,11}(\s[A-ZÄËÏÖÜÁÉÍÓÚÂÊÎÔÛÀÈÌÒÙ]{1,1}[a-zñäëïöüáéíóúáéíóúâêîôûàèìòù]{2,11})?(\s[A-ZÄËÏÖÜÁÉÍÓÚÂÊÎÔÛÀÈÌÒÙ]{1,1}[a-zñäëïöüáéíóúáéíóúâêîôûàèìòù]{2,11})?$
^([A-ZÁ-Ú][a-zá-ú])\s([A-ZÁ-Ú][a-zá-ú])\s?([A-ZÁ-Ú][a-zá-ú]+)?\s?([A-ZÁ-Ú][a-zá-ú]+)?$
Mi solución:
^([A-ZÁ-Ú][a-zá-ú]{2,}\s?){2,}$
^([A-Z][a-z][A-Z]?[a-z]+ ?){1,2}
Mi solución: ^([A-ZÀ-úa-z]+ ?){2,4}$
Para nombres Colombianos, lo hice de esta manera
^([A-ZÁ-Ú][a-zá-ú]{1,}\s?){1,4}
Camilo Sarmiento Gálvez
Alejandro Pliego Abasto
Milagros Reyes Japón
Samuel París Arrabal
Juan Pablo Tafalla
Axel Gálvez Velázquez
Óscar Montreal Aparicio
Jacobo Pozo Tassis
([A-ZÁ-Ú][a-zá-ú]{3,}\s?){3,3}
Mi solución: ^[A-ZÓ][a-zó]{2,} ?[A-Z][a-zóíñá]{2,} ?[A-Z][a-zóíñá]* ?[A-Z][a-zóíñá]*$
Mi solución
^([A-Z][a-zá]{1,}\s?){2,}.*$
^([A-ZÀ-ú][a-zÀ-ú]{2,}\s?){2,4}
Mi salio algo complejo:
^([a-zA-ZÁÉÍÓÚÑáóúñíé]+[\w.]+\D ?)+([a-zA-ZÁÉÍÓÚÑáóúñíé]+[\w.]+\D)$
^([A-ZÁÉÍÓÚÑ][a-záéíóúñ]{2,25}\s?){1,6}$
Reto cumplido, solo agregue las tildes de las vocales y el resto era casi igual a lo que hizo el profe.
![](
Está es mi solución:
^([A-Ú][a-ú]+\s)+$
Mi solución
^[A-ZÓÁÉÍÚ][a-záéíóúñ]{2,}((\s[A-ZÁÉÍÓÚ][a-záéíóúñ]{2,}){1,3})?$
pero viendo los comentarios de los compañeros aprendí que el rango de a-ú incluye tildes y la ñ ,
Solución mejorada
^[A-Ú][a-ú]{2,}((\s[A-Ú][a-ú]{2,}){1,3})?$
En un entorno real de python es un poco mas complicado el ejercicio, mas o menos habia dado con una solucion pero que igualmente contenia fallas, ya que los nombres los toma de una manera muy rara ver resultado final:
Camilo Sarmiento GÃ
lvez
Alejandro Pliego Abasto
Milagros Reyes Japón
Samuel ParÃs Arrabal
Juan Pablo Tafalla
Axel GÃ
lvez VelÃ
zquez
Óscar Montreal Aparicio
Jacobo Pozo Tassis
Guillermo Ordóñez Espiga
Eduardo Pousa Curbelo
Ivanna Bienvenida Kevin
Ada Tasis López
Luciana SÃ
enz GarcÃa
Florencia Sainz MÃ
rquz
Catarina Cazalla Lombarda
Paloma Gallo Perro
Margarita Quesada Florez
Vicente Fox Quesada
Iris Graciani
Asunción Carballar
Constanza Muñoz
Manuel Andres GarcÃa MÃ
rquez
Igualmente buscando resolucion a esto ya que habia nombres que no los tomaba se procedio a adaptar una solucion de stackoverflow, y la misma funciono relativamente bien:
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(r"([A-ZÁ-ÚÑ][^\n0-9_!¡?÷?¿/\\+=@#$%ˆ&*(){}|~<>;:[\]]{3,})\s([A-ZÁ-ÚÑ][^\n0-9_!¡?÷?¿/\\+=@#$%ˆ&*(){}|~<>;:[\]]{3,})\s([A-ZÁ-ÚÑ][^\n0-9_!¡?÷?¿/\\+=@#$%ˆ&*(){}|~<>;:[\]]{3,})\s([A-ZÁ-ÚÑ][^\n0-9_!¡?÷?¿/\\+=@#$%ˆ&*(){}|~<>;:[\]]{3,})", fh):
print(line)
Anexo capture de jupyterlabs
Les comparto la expresión que me sirvió para completar el reto de los nombres:
^\D[A-Za-zÁ-Úá-ú]+?.*
Cualquier observación es bienvenida. 😃
Mi solución al reto
^([A-ZÁÉÍÓÚ][a-záéíóú]+ [A-ZÁÉÍÓÚ][a-záéíóúñ]+) ? ([A-ZÁÉÍÓÚ][a-záéíóúñ]+)?
Esta RegEx funciona para dos nombres y un apellido, pero no sé como hacer incluir líneas con solo un nombre y un apellido, o los dos nombres y los dos apellidos en una sola regex
^([A-ZÁÉÍÓÚÑ][a-zzáéíóúñ]{1,}\s?){1,}
Mi solución
Hola.
Acá tengo mi aporte.
^[A-ZÁÉÍÓÚ][a-záéíóúñ]{2,}\s[A-ZÁÉÍÓÚ][a-záéíóúñ]{2,}(\s[A-ZÁÉÍÓÚ][a-záéíóúñ]{2,})?(\s[A-ZÁÉÍÓÚ][a-záéíóúñ]{2,})?
Saludos.
Esta es mi solución:
^([A-ZÁÉÍÚÓÑ][a-záéúíóñ]{2,} ?){2,}$
^[\w\sáéíóñ]{1,}$
^([A-ZÀ-ú][a-zà-ú]+\s?)+
Mi respuesta con varias listas:
Use esta Regex y muchos nombres coincidieron
^([\wéáíóúÁÉÍÓÚñÑ]+\s?){4,5}$
Camilo Sarmiento Gálvez
Alejandro Pliego Abasto
Milagros Reyes Japón
Samuel París Arrabal
Juan Pablo Tafalla
Axel Gálvez Velázquez
Óscar Montreal Aparicio
Jacobo Pozo Tassis
Guillermo Ordóñez Espiga
Eduardo Pousa Curbelo
Ivanna Bienvenida Kevin
Ada Tasis López
Luciana Sáenz García
Florencia Sainz Márquz
Catarina Cazalla Lombarda
Paloma Gallo Perro
Margarita Quesada Florez
Vicente Fox Quesada
Iris Graciani
Asunción Carballar Constanza Muñoz
Manuel Andres García Márquez
Andres Ñanco
Rodrigo Jiménez Gutiérrez
Jhon Beltran
Rodrigo Jiménez Gutiérrez
Jhon Fredy Beltrán
Jhon Fredy Beltrán León
Ándres Alberto
Juan Carlos Herrera Martínez
Andrés de Jesús Montes Rodríguez
daniel morales sevillano
daniel alejandro morales sevillano
maria de los angeles popo
Nicole dayan capote vallejo
Asi lo solciones yo:
^[A-ZÑÁÉÍÓÚ][a-zñáéíóú]{3,}(\s?([A-ZÑÁÉÍÓÚ][a-zñáéíóú]{0,})?){1,5}$
Mi solución para Colombia y Latinoamerica
/^([A-ZÁ-Ú][a-ú]{2,}\s?){2,4}$/
Aqui a la solución que llegue:
<^([A-ZÀ-Ú][a-zà-ú]{2,}\s?){2,6}$>
Solo me falta encontrar la manera que haga match con nombre compuestos como:
María de los Angeles Sánchez Carmona
^[A-ZÁÉÍÓÚ][\wáéíóúñ]+
- Nombres latinos
^([A-ZÁÉÍÓÚ][\wáéíóúñ]+\s?,?)+$
- Nombres separados por espacios
^.+\s?$
- Todos los nombres del mundo termina siendo cualquier string
Cosas incorrectas que los programadores asumimos acerca del nombre
Este reto es interesante para el curso, pero en la vida real para evitarse dolores de cabezas deben saber que muchas cosas que creen que son universales para los nombres son mentira y no aplican en todos los países del mundo.
un nombre no tiene caracteres especiales (mentira): X Æ A-Xii
Un nombre no tiene dígitos (mentira): Colombiano su nombre es “6”
Un nombre debe tener un mínimo de 2 o 3 caracteres (mentira): Li (como apellido) o aún más en su idioma original 李
Mientras más buscamos aceptar todos los nombres universalmente posibles de todos los idiomas que existen cada vez es más notorio que menos restricciones es quizás la unica opción que nos queda
Esta es mi respuesta.
^[A-ZÑÁÉÍÓÚ][a-zñáéíóú]{2,20}( [A-ZÑÁÉÍÓÚ][a-zñáéíóú]{2,20}){0,3}$
Hace match hasta con dos nombres y dos apellidos. El único problema es que también existen apellidos o nombres con “de”, o “del”, “de la”, etc. Si queremos considerar el nombre completo sería complicado ponerlo para que encaje en las situaciones correctas. Posiblemente para casos complejos sea mejor construir la lógica en el lenguaje de programación, pero con expresiones regulares se puede aplicar condicionales.
Aún no lo he hecho, pero encontré la información en regular-expresions.info. Si alguien le parece interesante puede echarle un vistazo. Tienen guías en muchos aspectos de expresiones regulares adicionales a lo que se ve en este curso también.
Mi aporte es :
^[A-ZÁÉÍÓÚÑ][a-záéíóúñ]{2,}\s?[A-ZÁÉÍÓÚ][a-záéíóúñ]{2,}\s?([A-ZÁÉÍÓÚÑ][a-záéíóúñ]{2,})?
Les comparto mi código:
^[A-ZÁ-Ú]?[a-zá-ú]{2,}?\s[A-ZÁ-Ú]?[a-zá-ú]{2,}?\s?[A-ZÁ-Ú]?[a-zá-ú]{2,}?\s?[A-ZÁ-Ú]?[a-zá-ú]{1,}?\s?$
Nombres usados:
Mauricio Dev,ia Castro
Laura Valentina Cruz Oyola
Jo0an Sebastian cruz Oyola
Mercedes Lasso Devia
Andrés David Gaviria Tovar
Yolanda Oy9la Vargas
Ángel Gómez Ángulo
Andrea Gutierrez
Nota: El doble espacio al final no deja hacer macth.
Asi el mio
^(([A-ZÁÉÍÓÚÑ][a-záéíóúñü]{2,}\s?)){1,5}$
My solution:
lista de nombres:
codigo: ^[A-ZÓ][a-zóá]{2,}\s?[A-ZÓ][a-zóáñí]{2,}\s?[A-ZÓ][a-zóáñí]{2,}.+
Camilo Sarmiento Gálvez
Alejandro Pliego Abasto
Milagros Reyes Japón
Samuel París Arrabal
Juan Pablo Tafalla
Axel Gálvez Velázquez
Óscar Montreal Aparicio
Jacobo Pozo Tassis
Guillermo Ordóñez Espiga
Eduardo Pousa Curbelo
Ivanna Bienvenida Kevin
Ada Tasis López
Luciana Sáenz García
Florencia Sainz Márquz
Catarina Cazalla Lombarda
Paloma Gallo Perro
Margarita Quesada Florez
Vicente Fox Quesada
Iris Graciani
Asunción Carballar
Constanza Muñoz
Manuel Andres García Márquez
^[A-ZZÁÉÍÓÚa-záéíóúñ]{2,}\s?[A-ZZÁÉÍÓÚa-záéíóúñ]{2,}\s?[A-ZZÁÉÍÓÚa-záéíóúñ]{2,}\s?[A-ZZÁÉÍÓÚa-záéíóúñ]{2,}\s?[A-ZZÁÉÍÓÚa-záéíóúñ]{2,}
Lo solucioné así aunque estoy segura que se podría resumir pero bueno fue divertido hacerlo sola 😃
Este seria para grupos de máximo 2 nombres y dos apellidos
^([A-Z][a-záéíóú]{3,}\s?){2,4}$
Hola el mio quedo asi
^\u00f1?\u00d1?[A-z]{1,}\u00f1?[a-z]{1,}\,?\s\u00f1?\u00d1?[A-z]{1,}\u00f1?[a-z]{1,}\,?\s\u00f1?\u00d1?[A-z]{1,}\u00f1?\u00f3?[a-z]{1,}\,?\s$
la estructura permite, ñ Ñ ó, pero solo 3 veces, no encontré la manera o no le entendí XD, para poderlo poner mas veces y no tener que copiar y pegar, también acepta las , pero al mismo tiempo las selecciona
Comparto mi ejercicio 😄. Pensando en el caso de los apellidos, como lo menciona el profesor de tener la mayor probabilidad de solo obtener estos y no los nombres, se me ocurre la siguiente función:
[A-ZÀ-Ú][a-zà-ú]{1,10}\s[A-ZÀ-Ú][a-zà-ú]{1,10}\S$
Y en caso de solo querer tener 1 apellido, asumiendo que el usuario al menos agregará un nombre y un apellido, podría quedar así:
[A-ZÀ-Ú][a-zà-ú]{1,10}\S$
De esta forma no tomamos todo el nombre, sino solo los apellidos tentativamente. Como alternativas, creo que dentro del código se podría crear una condicional donde primero una regex detecte el número de palabras y dependiendo de este, se aplique una segunda regex para extraer nombres o apellidos de forma precisa. 😃
Aquí esta mi solución
([A-Z][a-zñ]{2,}\s?){2,}
Ruben
Juan Pablo
Marcela
Rodrigo
Belen
Camila
Mi solución
([A-Ñ][a-ñúó]{0,}\s?){4}
^[áéíóú A-z]{3,}$
Expression
^([A-ZÁÉÍÓÚÜÑ]([a-záéíóúüñ]+)? )((de )?(del )?(la )?(el )?[A-ZÁÉÍÓÚÜÑ]([a-záéíóúüñ]+)? ?){1,7}$
Texto
María de Jesús Macias López
Antonio Argüelles Roncero
Ana Maria Rios del Baño
Francisco Ladrón de Guevara
Arantzatu Goicoetxea Urdaíz
Maria de la O
Esta Regex esta para detectar un nombre (Nombre y apellido) o 3 nombres (Nombre y 2 apellidos) o los 2 nombres y los dos apellidos.
^[A-zÁÉÍÓÚ][a-záéíóúñ]{2,}\s[A-zÁÉÍÓÚ][a-záéíóúñ]{2,}\s?[A-zÁÉÍÓÚ]?[a-záéíóúñ]?\s?[A-zÁÉÍÓÚ]?[a-záéíóúñ]?$
Funciono con todos estos
Camilo Sarmiento Gálvez
Alejandro Pliego Abasto
Milagros Reyes Japón
Samuel París Arrabal
Juan Pablo Tafalla
Axel Gálvez Velázquez
Óscar Montreal Aparicio
Jacobo Pozo Tassisf
Guillermo Ordóñez Espiga
Eduardo Pousa Curbelo
Ivanna Bienvenida Kevin
Ada Tasis López
Luciana Sáenz García
Florencia Sainz Márquz
Catarina Cazalla Lombarda
Paloma Gallo Perro
Margarita Quesada Florez
Vicente Fox Quesada
Iris Graciani
Asunción Carballar
Constanza Muñoz
Manuel Andres García Márquez
Buena tarde amigos!
les dejo mi solucion, vi por ahi una en los comentarios que mediante codificacion UTF-* simplificaba los acentos, pero a mi gusto eso pierde legibilidad, de por si una expresion regular no es algo que se pueda leer tan sencillo y luego complicando su lectura.
Recordemos que reducir el codigo tiene que ir de la mano con la legibilidad!
^([A-zÑÁÉÍÓÚñáéíóú]{2,}[ ])+[A-zÑÁÉÍÓÚñáéíóú ]+$
Mi solución al reto de los nombres:
^[A-Z][a-z]{1,}(\s[A-Z][a-z]{1,})?(\s([a-z]{2,2}\s)?[A-Z][a-z]{1,})+$
Ejemplos de nombres válidos:
Ejemplos de nombres NO válidos:
Me agrado como me quedo asi para mexico:
^([A-Z]?[áÁ-úÚaA-zZ]{3,} ?){1,6}$
Un 6 al final solo como gesto de que salga alguien raro con varios nombres jaja
Oscar Andrés Ramos López
Paula Andrea Nuñez Giraldo
Sebastian Ramos Nuñez
Marco Aureliio Ramos Gomez
Juan Pablo Vaquez
aura Sepulveda Cortez
Maria Paz Ramos
^(([A-ZÁÉÍÓÚÑ][a-záéíóúñ]{2,}) +)+([A-ZÁÉÍÓÚÑ][a-záéíóñ]{2,})$
¿Què tal chicos? ¿còmo van? Deseaba hacer un aporte a los relativamente nuevos en el manejo de editores de código; Resulta que Visual Studio en la búsqueda de caracteres tiene las opciones de expresiones regulares y otras 2 más, de vez en cuando descarta** la opción “Aa”**, la cual es primordial para realizar nuestras búsquedas con Regex, ya que si no está activa, Visual prescindiría del reconocimiento de Mayúsculas o minúsculas.
Esta un poco larga
[A-ZÑÁÉÍÓÚ]{1}[a-zñáéíóú]{1,}\s([a-z]{1,3}\s)?([A-ZÑÁÉÍÓÚ]{1}\.\s)?([A-ZÑÁÉÍÓÚ]{1}[a-zñáéíóú]{1,}\s)?[A-ZÑÁÉÍÓÚ]{1}([a-z]{1}[A-ZÑÁÉÍÓÚ]{1})?[a-zñáéíóú]{1,}\s?([A-ZÑÁÉÍÓÚ]{1}[a-z}{1]\.\s|[A-ZÑÁÉÍÓÚ]{1}\.\s)?([A-ZÑÁÉÍÓÚ]{1}[a-zñáéíóú]{1,})?
Funciona para:
Andrés de Jesús Montes Rodríguez
Porter José Mckenzie Rios
Elmo R. Oneill R.
Maria del C. Montes
Maria del C. Montes Rios
Porter José Mckenzie R.
Porter J. Mckenzie R.
Me funciono con esta
^([A-Z]{1}[a-záéíóú]+)\s?+([A-Z]{1}[a-záéíóú]+)$
Mi solución es algo larga 😅😅… pero lo hace bastante bien 😎
Mi solución:
^[A-záéíóúñÁÉÍÓÚ]{1,1}[a-záéíóúñ]{2,12}\s([A-z]{1,1})+([a-záéíóúñ]{2,12})?\s?([A-z]{1,1}[a-záéíóúñ]{2,12})?\s?([A-z]{1,1}[a-záéíóúñ]{2,12})?\s?([A-z]{1,1}[a-záéíóúñ]{2,12})?$
Soluciona muchos nombres tipo:
Acá está mi solución:
^([A-Z][a-zíáéúóñ]+\s?){1,}\.?$
Funciona con todos estos datos:
Rosa María Martínez Suárez.
Ana María Casanova
María José González Botana de Solá.
María Eugenia Florez.
Clotilde Acosta.
María Cristina Lancelotti
Graciela Zabala.
Cristina De Giacomi.
Rodolfo Francisco Marabotto
Norberto Gurvich
Carlos Alberto Ficicchia Gigliotti
Marcela María Delorenzi
Juan Martín Rago
Fabián Alberto Gómez.
Ricardo Luis Amigorena
Gabriel Julio Fernández
María Cecilia Parrondo
Noemí Rosa Castro
Mauricio Goldfarb
Mariana Espósito
Alejandro Wiebe.
Carla Rivero
Patricia Ramírez
Luciano Giugno
Adrián Martínez
Rubén Castiñeiras
Mariela Anchipi
Rubén Enrique Brieva
Ezequiel Cwirkaluk
Bautista
Ignacio Manuel Saccomano
Horacio Jorge Arias
Alberto Francisco Pochulu
PD: Son nombres de famosos argentinos, les recomiendo hacer lo mismo con famosos de sus países porque son fáciles de buscar en grandes volúmenes y hay de todo tipo 😃
¡Funciona con el nombre del hijo de Elon Musk! X Æ A-12
Hola les dejo mi aporte, para evitar escribir todas las letras con acentos tanto mayúsculas como minúsculas encontré que se puede poner un rango de número de caracteres. Esto puede abarcar varios signos raros. Además de que podemos agrupar con paréntesis y decidir con delimitadores cuantas veces puede suceder ese patrón.
^([A-Z\u00C0-\u00FF]\s?[a-z\u00C0-\u00FF\.?]{1,}\s?){1,}.*$
¡Espero que les sirva!
Esta es mi solución:
[A-ZÁÉÍÓÚÑ][a-záéíóúñ]+ [A-Za-zÁÉÍÓÚÑ][a-záéíóúñ]+(( [A-ZÁÉÍÓÚÑ][a-záéíóúñ]+){1,})?
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?