No tienes acceso a esta clase

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

Aprende todo un fin de semana sin pagar una suscripción 🔥

Aprende todo un fin de semana sin pagar una suscripción 🔥

Regístrate

Comienza en:

0D
22H
43M
37S

Nombres(?) Reto

18/29
Recursos

Aportes 209

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Luego llega Elon Musk colocandole a su hijo “X Æ A-12” y los gringos que hacen este mismo tipo de ejercicios con cara de:

Les dejo unos nombres para que se diviertan:
https://regex101.com/r/aPrEJH/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
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

Solución: ^([A-Ú][a-ú]+\s?){1,5}$

El nombre del hijo de Elon Musk rompio paradigmas de las expresiones regulares =D

^([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)

^([A-ZÁÉÍÓÚÑ][a-zzáéíóúñ]{1,}\s?){1,}

Pueden generar 10 nombres aleatorios latinos acá https://www.fantasynamegenerators.com/hispanic_names.php

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,}$

  • Pedro Muñoz
  • Deyanira Molina
  • Brayatan Byron
  • Marantoni Núñez
  • Jenny Cortés
  • Ad9 hastra
  • Beethoven
  • J S Mastropiero
  • Éster Cervantes
^[A-ZÁÉÍÓÚ][a-záéíóú]{2,}\s[A-ZÁÉÍÓÚÑ][a-záéíóúñ]{2,}$

PD: Soy de Chile, acá los nombres imposibles existen.

Si buscaramos el nombre de Musk

^[A-Z]\s?[Æ]\s?[A-Za-z]{1,}[-]{1,}[0-9]{1,}\s?Musk

X Æ A-12 Musk

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.

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.

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 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}

Nombres:

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

Mi Solucion:

([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_!¡?÷?¿/\\[email protected]#$%ˆ&*(){}|~<>;:[\]]{3,})\s([A-ZÁ-ÚÑ][^\n0-9_!¡?÷?¿/\\[email protected]#$%ˆ&*(){}|~<>;:[\]]{3,})\s([A-ZÁ-ÚÑ][^\n0-9_!¡?÷?¿/\\[email protected]#$%ˆ&*(){}|~<>;:[\]]{3,})\s([A-ZÁ-ÚÑ][^\n0-9_!¡?÷?¿/\\[email protected]#$%ˆ&*(){}|~<>;:[\]]{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,}$

https://regexr.com/6ahlh

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:

  • Ruben Blades
  • Juan Pablo Marmol
  • Camila Cabello
  • Gregorio Araoz de Lamadrid Fernandez
  • Gregorio Araoz Fernandez de Lamadrid
  • Juan Manuel Abal Medina
  • Zu Tamagotchi
  • Jorge Salvador Fernandez Lopez Gutierrez
  • Ajo Derse

Ejemplos de nombres NO válidos:

  • Marcela agachate
  • Rodrigo noya
  • belen Francese
  • Jorge
  • Leandro N Alem
  • A Joderse

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,})?

Creo que este sirve

^([A-ZÁÉÍÓÚ][a-záéíóú]{1,}\s?)[A-ZÁÉÍÓÚ][a-záéíóú]{1,}.*$

Les comparto mi aporte, detecta todos los nombre enunciados en la siguiente lista:

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 Hernandez
Asunción Carballar Quesada
Constanza Muñoz Hernandez
Manuel Andres García Márquez
Jhon Beltrán Bautista Perez
Ándres Alberto Figueroa Esterwitz
Andrés de Jesús Montes Rodríguez
Andrés Marco de León Bautista Jiménez


Esta es la Expresión:
^[A-ZÁÉÍÓÚ][a-záéíóúñ]{2,}\s(de\s[A-ZÁÉÍÓÚ][a-záéíóúñ]{2,})?([A-ZÁÉÍÓÚ][a-záéíóúñ]{2,}(\sde\s[A-ZÁÉÍÓÚ][a-záéíóúñ]{2,})?)?\s([A-ZÁÉÍÓÚÑ][a-záéíóuñ]{2,}\s)?([A-ZÁÉÍÓÚÑ][a-záéíóuñ]{2,})?$


PD: Si pueden mejorarla (Lo cual creo es muy posible jaja) se los agradeceria que me lo escribieran como respuesta a este comentario 😃 .

^[A-ZÁ-ÚÑ][a-zá-úñ]{2,}\s?[A-ZÁ-ÚÑ][a-zá-úñ]{2,}\s?([A-ZÁ-ÚÑ][a-zá-úñ]{2,})?\s?([A-ZÁ-ÚÑ][a-zá-úñ]{2,})?$

Esta pagina les puede servir para generar nombres aleatorios!

Este fue el resultado que tuve, lo probe con mas o menos 1500 nombres y me funciono, esto es genial xd

([A-ZÁÉÍÓÚÑ][a-záéíóúñ]+ ){1,}([a-záéíóúñ]+ )?([A-ZÁÉÍÓÚÑ][a-záéíóúñ]+)(-[A-ZÁÉÍÓÚÑ][a-záéíóúñ]+)?

A mi me funciona así, indicando que al inicio puede haber un espacio o no para evitar repetir código.

^(\s?[A-ZÁÉÍÓÚ]?[a-záéíóú]{0,}){1,}$

Esta es la solución a la que yo llegué

^([A-zÑÁÉÍÓÚñáéíóú]+\s?){1,}$

Aquí unos nombres para que copies, pegues y pruebes

Joshua Alexander Cobos Salvador
Andrés Xavier Vargas Vera
Ale Cruz Monge
Ernesto José
Jhon Beltrán
Carlita Towers
Ándres Alberto
Andrés de Jesús Montes Rodríguez
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

Carlos Suarez-Aviles Plaza
Jesus Alberto de la Torre
Jesus Alberto de la Torre Mancheno
María De La Paz Giler Álava.
Ángel lupérnico.
Perfecta Luz Clara Vera Cedeño.
Júpiter Yesosa Andrade Varela.
Lupito Estilito Basurto Loor.
Frowen Timito Moreira.
Alipranda Alcívar.
Sistenes Cedeño.
Numa Evas duarte Fenes de valgas.
Querido ecuador Fenes de valgas.
Jeancarlo Diamantina Vera Vera.
Mariana de Jesús

^[A-ZÁÉÍÓÚ][a-zà-ü]{2,}\s[A-ZÁÉÍÓÚa-z][a-zà-ü]+-?\s?.*$

Aquí mi solución
^([A-zÁÉÍÓÚáéíóú]{2,}\s?){2,}

Mi soluciòn

^[A-ZÀ-ù][a-zÀ-ù]{1,}\.?\s?[A-ZÀ-ù]?[a-zÀ-ù]{0,}\.?\s?[A-ZÀ-ù]?[a-zÀ-ù]{0,}\.?\s?[A-ZÀ-ù]?[a-zÀ-ù]{0,}\s?\.?[A-ZÀ-ù]?[a-zÀ-ù]{0,}

Yo he utilizado la siguiente lista Ruben

<Ruben
Juan Camilo Ortiz Gutirrez
Marcela
Rodrigo
Belen
Camila
Aarón Felipe Isaacs Ortiz
njm nn
334awe qwwee
Aaas3

Rodrigo Jiménez Gutiérrez
Rodrigo Jiménez Gutiérrez
Jhon Beltrán
Jhon Fredy Beltrán
Jhon Fredy Beltrán León
Ándres Alberto
Jhon Fredy
Juan Carlos Herrera Martínez
Andrés Jesús Montes Rodríguez>

Y la expresión regular que usé fue:

<^([A-zA-ú]{3,}?[^\0-9\.,#\/-¡!¿?:]?\s?[A-zA-ú]{1,1}){1,6}?$>

^[A-ZÁÉÍÓÚ]\w{1,15}[áéíóú]?\w\s?

4 veces por que hay de 2 nombres y 2 apellidos. aunque también hay de 3 nombres o.O

Las otras 3 sin sombrerito y la ultima con dolarito$

tal vez hay maneras mucho mejores y eficientes, pero vamos empezando

2 Nombres, 2 apellidos en Español

  • [A-ZÁÉÍÓÚ][a-záéíóúñ]{2,}\s[A-ZÁÉÍÓÚ][a-záéíóúñ]{2,}\s?[A-ZÁÉÍÓÚ]?[a-záéíóúñ]{2,}\s?[A-ZÁÉÍÓÚ]?[a-záéíóúñ]{2,} ,funcionó con todos los nombres, excepto “Constanza Muñoz”
  • ^([A-ZÁÉÍÓÚ][a-zñáéíúó]{2,}\s?(de\s)?){1,4}$, modificación de un ejemplo que encontré en los comentarios, funcionó con todos los nombre utilizados de ejemplo

Ejemplos:

Ruben
Juan Camilo Ortiz Gutiérrez
Marcela
Rodrigo
Belen
Camila
Aarón Felipe Isaacs Ortiz
334awe qwwee
Aaas3
Juan Carlos
Rodrigo Jiménez Gutiérrez
Rodrigo Jiménez Gutiérrez
Jhon Beltrán
Jhon Fredy Beltrán
Jhon Fredy Beltrán León
Andrés Alberto
Juan Carlos Herrera Martínez
Andrés de Jesús Montes Rodríguez

Mi solución:

^[A-ZÁÉÍÓÚ][a-zñáéíóú]{3,}(\s?[A-ZÁÉÍÓÚ][a-záéíóú]+){0,}$

Puedes usar de ejemplo este texto para encontrar los nombres. Algunos tienen historias chistosas.

Strange but true: 25 real-life names tweeted by Name Curator

https://gist.github.com/cirovladimir/f55b96044765832c48b459a53abd1ada

original source: https://www.dailydot.com/society/25-real-life-name-curator-twitter/

He aquí mi solución, lo hice tal que nombres como AJ, DJ, o TJ fueran válidos

([A-ZÑÁÉÍÓÚ]+[(A-z)ñáéíóú]+\s?)+
^[A-Z][a-záéíóú]{2,}\s([A-Z][a-záéíóú]{2,}\s)?[A-Z][a-záéíóú]{2,}(\s[A-Z][a-záéíóú]{2,})?$

Mi ejemplo

<^[A-Za-zÑñÁÉÍÓÚáéíóú]{3,}((\s[A-Za-zÑñÁÉÍÓÚáéíóú])?[A-Za-zÑñÁÉÍÓÚáéíóú]{0,}){0,5}$ >

Paula Rome
Noemi Herrera
Pedro_cote
Isra99p
Anasol

Así me quedó:

^[A-zñáéíóú]{3,15}[\s\-\.]?[A-zñáéíóú]{3,15}[\s\-\.]?[A-zñáéíóú]{3,15}[\s\-\.]?[A-zñáéíóú]{3,15}[\s\-\.]?$

La clase [A-zñáéíóú] me resultó muy útil permite caracteres especiales

Mi expresión regular

^([A-ZÁÉÍÓÚÑ][a-zñáéíóú]+\s?){1,6}$

Para nombres como :

Bryan Estiven Silva Mercado
Ñane Agustina Maria De Los Angeles
Árchi Pablo Herrera Iñiga

Usando de ejemplo los nombres que usaron en los comentarios, Use la siguiente RegExp para los siguientes nombres:

([A-ZÁÉÍÓÚ][\wáéíóúÁÉÍÓÚñ\s]{3,}){3,}

Rodrigo Jiménez Gutiérrez
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

Esta fue mi solución:

^([A-Z][a-z]+[áéíóú]?[a-z]+\s?)+$

Mi solución

^[A-Za-zÑñÁÉÍÓÚáéíóú]{3,}\s?[A-Za-zÑñÁÉÍÓÚáéíóú]{3,}[^\d\-./_]$

Mi solución:

^([A-ZÑÁÉÍÓÚ]*[a-zñáéíóú]{1,}\s){1,}$

Funciona dentro y fuera de una linea 😉

[A-ZÁÉÍÓÚ][a-zzáéíóú]+\s[A-Z][a-záéíóú]+\s?[A-Z]?[a-záéíóú]+\s?[A-Z]?[a-záéíóú]+