Foros del Web » Programación para mayores de 30 ;) » RegExp »

[SOLUCIONADO] Expresión regular para el formato "Apellidos, Nombre"

Estas en el tema de Expresión regular para el formato "Apellidos, Nombre" en el foro de RegExp en Foros del Web. Buenas, estoy intentado encontrar una expresión regular que valide un nombre completo que tenga el formato "apellidos, nombre" y que deje también introducir guiones (-), ...
  #1 (permalink)  
Antiguo 03/03/2014, 14:25
 
Fecha de Ingreso: junio-2012
Mensajes: 147
Antigüedad: 11 años, 9 meses
Puntos: 1
Expresión regular para el formato "Apellidos, Nombre"

Buenas, estoy intentado encontrar una expresión regular que valide un nombre completo que tenga el formato "apellidos, nombre" y que deje también introducir guiones (-), guiones bajos (_) y cualquier formato de nombre o apellido compuesto (por ejemplo: De La Cruz Pérez, Antonio José).

Apenas tengo experiencia con expresiones regulares y todo lo que he llegado a encontrar es esto:

Código exp reg:
Ver original
  1. "/^([\w]+[\w\s-_]+,{1}[\w\s-]+[\w]+)$/"

Pero no sirve. ¿Alguna ayuda?

Gracias!
  #2 (permalink)  
Antiguo 04/03/2014, 10:20
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Expresión regular para el formato "Apellidos, Nombre"

Si no nos dices por qué "no sirve", es imposible saber cuál es el problema.
  #3 (permalink)  
Antiguo 04/03/2014, 11:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Expresión regular para el formato "Apellidos, Nombre"

Otro tema es que que para emplear acentos y otras puntuaciones debes usar modificadores especiales.

En el caso de hacerlo con PHP sería así:
Código PHP:
Ver original
  1. $arr = ["De La Cruz Pérez, Antonio José", "Cabrera Durán, Alvaro"];
  2. $regex = "/^\s*([\pL\w\s]+)\s*,\s*([\pL\w\s-]+)\s*$/u";
  3.  
  4. foreach ($arr as $str) {
  5.   var_dump($str, preg_match($regex, $str, $m), $m);
  6. }

Ahí, \pL es una secuencia especial que permite conjuntos en latín: acentos, eñes, etc.

En otros lenguajes tendrás que consulta por algo similar.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 06/03/2014, 07:18
 
Fecha de Ingreso: junio-2012
Mensajes: 147
Antigüedad: 11 años, 9 meses
Puntos: 1
Respuesta: Expresión regular para el formato "Apellidos, Nombre"

Fantástico pateketrueke, funciona a la perfección.

Muchas gracias!!

Etiquetas: formato, regular
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:10.