Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/02/2008, 05:13
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: duda expresiones regulares ereg y preg_match

12 13.5-6.7

/[a-z]||[A-Z]||á||é||í|ó||ú||ñ||ü||\@|\*||\+/

¿por qué el ||? en las expresiones regulares se usa solamente uno, no doble.
Tampoco es necesario que separes tanto, podés usar solo una clase de caracteres. Y por último tampoco es necesario escapar los * y @

/[a-zA-Záéíóúñü@*]+/

Pero vamos a tu caso puntual.
Según entiendo, tenés una serie de números, de largo no especificado, separados por un guión o un espacio. La expresión regular que coincide con esto es, entonces:

Código:
([0-9]+([.0-9])?+[ -])+
que quiere decir:
"una serie de números teniendo como mínimo uno, luego puede o no aparecer un punto seguido de otros números, seguido de un espacio o un guión. Todo esto aparece al menos una vez y se puede repetir".

El problema de esta expresión es que necesita que la cadena termine con un guión o un espacio, pero creo que sabrás resolverlo

Para tu segunda pregunta, el motivo por el que pone {1,2} es simplemente para poder tomar tanto

2008-02-01

como

2008-2-1


Saludos.