Expresiones regulares

03/03/2004 - 18:01 por Miguel Tubia | Informe spam
Hola a tod@s,
a ver si me pueden echar una mano pq me estoy volviendo loco y seguro q es
una chorrada...
tengo un textbox en el que puedo introducir una fecha, unas letras o dejarlo
en blanco.
Si lo dejo en blanco pongo la fecha de hoy. Si tiene algo miro q puede ser;
con expresiones regulares miro si es una fecha (lo pueden meter ddmmaa,
dd/mm/aa o dd-mm-aa). Hasta ahí bien, me lo coge bien. Pero tb me pueden
meter unos caracteres: L, M, X, J, V, S, D (por los días de la semana). Si
es el caso los meten seguidos (ej: LXV para decir lunes, miércoles y
viernes). Si no es ninguna de las anteriores (ni fecha ni día de la semana)
quiero q de un error. Una vez descartado q es fecha, ¿cómo puedo saber si
introduce alguna de las letras anteriores? Puede empezar por cualquiera,
haber cualquiera de ellas y en cualquier orden. Había puesto
(L?M?X?J?V?S?D?) pero claro, meta las letras q meta siempre me coincide.
¿Cómo lo puedo hacer? Me da rabia pq seguro q es fácil pero no caigo y estoy
perdiendo mucho tiempo en esto
Muchas gracias
Un saludo

Preguntas similare

Leer las respuestas

#6 Miguel Tubia
04/03/2004 - 10:09 | Informe spam
Hola!
muchas gracias por responder. Con ese patrón tampoco me funciona bien, pq si
meto, por ejemplo, una Q, q no es del patrón q yo quiero, me deja pasar.
He visto una utilidad q genera expresiones regulares y voy a ver si me sirve
de algo. Yo me sigo peleando pero cualquier idea, por decabellada q sea,
será bienvenida con unas cervezas virtuales XDXD
Gracias y un saludo
Respuesta Responder a este mensaje
#7 Alejandro Bibiano González
04/03/2004 - 12:23 | Informe spam
Prueba con alguno de estos ejemplos:

"(LMXJVSD){1,}"
"(LMXJVSD){0,}"
"(LMXJVSD)+"



"Miguel Tubia" <####m_tubiaARROBAhotmail.com###> escribió en el mensaje
news:O$
Hola!
muchas gracias por responder. Con ese patrón tampoco me funciona bien, pq


si
meto, por ejemplo, una Q, q no es del patrón q yo quiero, me deja pasar.
He visto una utilidad q genera expresiones regulares y voy a ver si me


sirve
de algo. Yo me sigo peleando pero cualquier idea, por decabellada q sea,
será bienvenida con unas cervezas virtuales XDXD
Gracias y un saludo


Respuesta Responder a este mensaje
#8 Miguel Tubia
04/03/2004 - 15:15 | Informe spam
Hola,
gracias de nuevo por responder. Esto parece el cuento de nunca acabar
Las combinaciones q me diste me dan el siguiente resultado:

"(LMXJVSD){1,}": solo me deja pasar si meto la combinación entera LMXJVSD
"(LMXJVSD){0,}": me deja pasar de cualquier forma
"(LMXJVSD)+": solo me deja pasar si meto la combinación entera LMXJVSD

De todos modos muchas gracias. Yo voy a seguir mirando... si se os ocurre
alguna otra combinación posible estaré muy agradecido
Muchas gracias
Un saludo
Respuesta Responder a este mensaje
#9 Alejandro Bibiano González
04/03/2004 - 15:29 | Informe spam
Perdon, quería ponerte en mi anterior mail:

"[LMXJVSD]{1,}"
"[LMXJVSD]{0,}"
"[LMXJVSD]+"



"Miguel Tubia" escribió en el mensaje
news:%23%
Hola,
gracias de nuevo por responder. Esto parece el cuento de nunca acabar
Las combinaciones q me diste me dan el siguiente resultado:

"(LMXJVSD){1,}": solo me deja pasar si meto la combinación entera LMXJVSD
"(LMXJVSD){0,}": me deja pasar de cualquier forma
"(LMXJVSD)+": solo me deja pasar si meto la combinación entera LMXJVSD

De todos modos muchas gracias. Yo voy a seguir mirando... si se os ocurre
alguna otra combinación posible estaré muy agradecido
Muchas gracias
Un saludo


Respuesta Responder a este mensaje
#10 Miguel Tubia
04/03/2004 - 16:54 | Informe spam
Hola de nuevo y gracias,
bueno, con la expresiones q me diste tampoco funciona bien... resulta q no
me deja si pongo caracteres prohibidos sueltos, pero si los pongo en
combinacion con otros me lo pasa... pero al final lo "resolví" ocultando el
problema. He hecho que puede poner caracteres prohibidos, pq supongamos se
equivoca y se le va el dedo, pero el programa se los borra y solo reconoce
los aceptados. Seguro q hay una forma mejor de hacerlo pero de momento lo
tengo así:
patron="L|M|X|J|V|S|D";

result="";

MatchCollection matchC = Regex.Matches(txt, patron);

foreach (Match m in matchC)

{

result=result+m.Value;

}

Luego lo reemplazo en el textbox y a correr. De acuerdo, no es lo q quería
al principio, pero más o menos funciona. De todos modos voy a mirar cm
sería una expresión regular que te permita esos caracteres y ninguno más, q
me ha picado la curiosidad, aunq si a alguien se le ocurre q la ponga y la
probamos XD

Muchas gracias por todo

Un saludo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida