Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: samur88 en 6 Febrero 2012, 14:50 PM

Título: Problema con expresión regular PCRE
Publicado por: samur88 en 6 Febrero 2012, 14:50 PM
Hola buenas, a ver si podéis echarme una mano con el siguiente problema que tengo:

Estoy usando expresiones regulares PCRE para validar un correo:
En la primera parte antes de la arroba, necesito hacer lo siguiente y no se como hacerlo, quiero que el máximo número de caracteres de la parte local del correo (antes de la arroba) sean 63 como máximos, 1 como mínimo, pero quiero que esos 63 caracteres, sean letras, empiecen por letras, terminen por letras, y entre medios pueda llevar un símbolo de los especificados en la clase carácter pero no dos símbolos juntos.

Dejo el código a continuación:
Código (php) [Seleccionar]

$test = preg_match('/^[\w+(\_\-\.\+)?\w+]{1,63}\@{1}(\w+[\.\-]?\w+)+\.{1}[a-z]{2,4}$/','holaacvcv3@bba-sfd-dfd.com');

La parte a tocar del patrón sería la que se encuentra antes de la arroba, es decir:

Código (php) [Seleccionar]
[\w+(\_\-\.\+)?\w+]{1,63}

Eso no me funciona, ya que me valida cuando hay dos signos juntos.

Un saludo y gracias por todo.
Título: Re: Problema con expresión regular PCRE
Publicado por: dark_sargon en 7 Febrero 2012, 05:08 AM
Busca acerca de éste cuantificador:
?
Título: Re: Problema con expresión regular PCRE
Publicado por: samur88 en 8 Febrero 2012, 17:34 PM
Gracias, aunque ya conozco los cuantificadores y ese en especial, creo que lo tengo, pero no estoy seguro de si es correcta la expresión o no.

Un saludo.