D-MO
29-06-2007, 19:43:26
Bueno, ya mi cabeza no dá mas...:D, se me ocurre una solución a mi problemita pero no se si será el mas eficiente (es más, ni siquiera lo he probado :rolleyes:), ustedes que opinan, habrá una solución mejor o me quedo con esta :cool:.
Tengo una cadena como esta:
10:2000-2005/50:1999-2000/25:2001-2003/ Y tengo los siguientes datos:
ID=10
AI=2003
AF=2005
Debo corroborar lo siguiente:
Que ID es igual al número antes del ":"
Que AI es mayor o igual al número que está entre "ID:" y "-"
Que AF es menor o igual al número que está entre "ID:AI-" y "/"Se me ocurre lo siguiente:
/[(^.*)|(\/.*)]\:/ Con lo que estaría tomando el valor antes del ":" ya sea si es de inicio de la cadena o que está después de "/". Aquí haria la primera comparación y si se cumple la primera regla pasar al siguiente paso.
/ID\: (.*)\-(.*)\// #Que se note que dejo un espacio en blanco despues de : porque si no me coloca un emoticon :( De igual forma que la anterior, compararía los datos, si el resultado [1] es mayor o igual al valor en AI y el resultado [2] es menor o igual que AF pues entonces ejecutaré el proceso que se solicita.
Aunque también podríamos hacerlo así:
/[(^.*)|(\/.*)]\: (.*)\-(.*)\// Ya que obtendría los datos con una sola expresión y pues menos código ¿no?, he igual de funcional (si funcionara, claro;)).
Las preguntas son:
¿Existe una mejor forma de hacerlo?
¿A alguien se le ocurre otra forma?
¿Estoy metiendo las patas y no se siquiera qué es o como se usa un comodín?Con el permiso de Al, un abrazo regular :p.
Saludos.
Tengo una cadena como esta:
10:2000-2005/50:1999-2000/25:2001-2003/ Y tengo los siguientes datos:
ID=10
AI=2003
AF=2005
Debo corroborar lo siguiente:
Que ID es igual al número antes del ":"
Que AI es mayor o igual al número que está entre "ID:" y "-"
Que AF es menor o igual al número que está entre "ID:AI-" y "/"Se me ocurre lo siguiente:
/[(^.*)|(\/.*)]\:/ Con lo que estaría tomando el valor antes del ":" ya sea si es de inicio de la cadena o que está después de "/". Aquí haria la primera comparación y si se cumple la primera regla pasar al siguiente paso.
/ID\: (.*)\-(.*)\// #Que se note que dejo un espacio en blanco despues de : porque si no me coloca un emoticon :( De igual forma que la anterior, compararía los datos, si el resultado [1] es mayor o igual al valor en AI y el resultado [2] es menor o igual que AF pues entonces ejecutaré el proceso que se solicita.
Aunque también podríamos hacerlo así:
/[(^.*)|(\/.*)]\: (.*)\-(.*)\// Ya que obtendría los datos con una sola expresión y pues menos código ¿no?, he igual de funcional (si funcionara, claro;)).
Las preguntas son:
¿Existe una mejor forma de hacerlo?
¿A alguien se le ocurre otra forma?
¿Estoy metiendo las patas y no se siquiera qué es o como se usa un comodín?Con el permiso de Al, un abrazo regular :p.
Saludos.