Título: [RETOS] Expresiones Regulares Publicado por: criskapunk en 23 Agosto 2011, 22:57 pm Buenas chicos, después de la aprobación de Nov, les traigo este post :P
(http://img64.imageshack.us/img64/2492/logoext.png) Reglas: (Más que nada algunas recomendaciones para poder mantener el orden en el hilo).
Acá les dejo el primero, si quieren pueden usar una plantilla similar a la siguiente: Dificultad: 2 - Medio. Reto: Realizar una expresión regular que valide nombres. Los mismos podrán ser simples o compuestos (Una o dos palabras). Unicamente podrán contener letras y las letras mayúsculas podrán aparecer sólo al principio de las palabras. Cuando llego a casa publico la respuesta, que ya terminó mi horario laboral xD. Un saludo y espero que les guste! :D Título: Re: [RETOS] Expresiones Regulares Publicado por: Darkgold9 en 23 Agosto 2011, 23:39 pm Código:
Aqui sta mi propuesta. Saludos Título: Re: [RETOS] Expresiones Regulares Publicado por: criskapunk en 24 Agosto 2011, 02:20 am Yo la había pensado así:
Código: ^[a-zA-Z]?[a-z]+(\s[a-zA-Z]?[a-z]+)? Pero por ejemplo, la mía no valida tildes y acepta como valido palabras de una sola letra. Voy a tener que ser más específico para la próxima :xD @Darkgold9 Tu expresión (Según esta (http://gskinner.com/RegExr/) página) valida una única palabra solo si al final de la misma agregás un espacio. Además, no valida más de una palabra y toma como correcto escribir únicamente un espacio. Un saludo y gracias por participar. Título: Re: [RETOS] Expresiones Regulares Publicado por: Shell Root en 24 Agosto 2011, 02:38 am Código
@R0LFback, para qué el operador ? en tu expresión? Título: Re: [RETOS] Expresiones Regulares Publicado por: criskapunk en 24 Agosto 2011, 02:58 am @Shell Root:
Porque la segunda palabra puede o no estar. Te referís a ese o al ? del comienzo? Tu expresión supera el límite de dos palabras :P Además acepta como válido solo espacios en blanco. Un saludo. Título: Re: [RETOS] Expresiones Regulares Publicado por: Shell Root en 24 Agosto 2011, 03:04 am Hay nombres con espacios vacíos, -es mentiras, ajajjaja este no es mi fuerte-
La primera, se supone qué al usar [a-zA-Z] se puede ingresar una mayúscula o minúscula. Título: Re: [RETOS] Expresiones Regulares Publicado por: criskapunk en 24 Agosto 2011, 03:28 am Jaja! Un nombre escrito en Whitespace (http://es.wikipedia.org/wiki/Whitespace)
Lo del ? es por esto que puse en el primer post: Citar las letras mayúsculas podrán aparecer sólo al principio de las palabras Pueden aparecer o no. Un saludo. Título: Re: [RETOS] Expresiones Regulares Publicado por: Shell Root en 24 Agosto 2011, 03:36 am Al parecer no entiendes lo que te quiero decir, intetad ejecutar lo siguiente,
Código
Título: Re: [RETOS] Expresiones Regulares Publicado por: Valkyr en 24 Agosto 2011, 04:10 am Yo propondría esta:
Código: [A-Z]?[a-z]+( [A-Z]?[a-z]+)? Reconoce nombres que empiecen por mayúsculas y pueden tener uno o dos nombres, y además los que empiecen por minúsculas. Saludos. Título: Re: [RETOS] Expresiones Regulares Publicado por: Shell Root en 24 Agosto 2011, 04:36 am @Valkyr, faltan las tildes, para nombres como Héctor.
Código
Título: Re: [RETOS] Expresiones Regulares Publicado por: criskapunk en 24 Agosto 2011, 04:41 am @Shell Root:
Esa expresión permite en la primer palabra que todas las letras sean mayúsculas. Solo pueden ir al principio de cada una. @Valkyr: Funciona perfecto :D Cumple con los requisitos que puse en el primer post. Te toca postear reto. Un saludo. Título: Re: [RETOS] Expresiones Regulares Publicado por: Valkyr en 24 Agosto 2011, 15:48 pm Shell Root, no puse tildes porque en el primer post no especificaba que los nombres pudiesen llevar tildes, sí quisiesemos que la expresión regular reconociese muchos más nombres habría que hacer exactamente lo que dices.
De acuerdo, pues yo propongo este: Expresión regular para buscar cadenas que vayan entre comillas, sin comillas dentro y que puedan ocupar varias líneas. Tendría que reconocer las siguientes cadenas (las que están subrayadas): Citar " Hola señores" "Comillas comillas y comillas" " " "Reto de expresiones regulares elhacker.net " Iré revisando las respuestas para ver qué proponeis. Yo ya tengo la mía hecha, cuando alguien proponga alguna que lo resuelva posteo la mia. Saludos. Título: Re: [RETOS] Expresiones Regulares Publicado por: Darkgold9 en 24 Agosto 2011, 16:05 pm Código:
Aki va la mia Saludos Título: Re: [RETOS] Expresiones Regulares Publicado por: criskapunk en 24 Agosto 2011, 16:10 pm Código: ^"[\w?\s?(\r\n)?]*"$ Edit: Me compliqué demasiado parece :xD No sabía que había que escapar las comillas, por eso no me funcionaba la expresión. Un saludo. Título: Re: [RETOS] Expresiones Regulares Publicado por: Valkyr en 24 Agosto 2011, 17:08 pm Darkgold9 la tuya funciona perfectamente, lo único que puedo poner de pega es que la barra de escape no es necesaria, sería necesaria si por ejemplo estuviésemos programando y al crear una cadena de texto esa cadena contuviese comillas dentro, pero para las expresiones regulares como tal, no es necesario, aún así funciona correctamente. Te paso el testigo y te toca reto xD.
R0LFback la que propones no es correcta. Me parece que sobran las ?, además, al colocar el paréntesis lo toma como el carácter que es, no como un conjunto. Tampoco reconoce los que están en varías líneas. Saludos a todos. Título: Re: [RETOS] Expresiones Regulares Publicado por: criskapunk en 24 Agosto 2011, 17:41 pm Edito: Error mío, perdón.
Título: Re: [RETOS] Expresiones Regulares Publicado por: Darkgold9 en 24 Agosto 2011, 18:07 pm Citar Darkgold9 la tuya funciona perfectamente, lo único que puedo poner de pega es que la barra de escape no es necesaria, sería necesaria si por ejemplo estuviésemos programando y al crear una cadena de texto esa cadena contuviese comillas dentro, pero para las expresiones regulares como tal, no es necesario, aún así funciona correctamente. Te paso el testigo y te toca reto xD. Lo tendre en cuenta thx :). Pues aqui va mi reto: Expresion regular que reconozca una cadena con formato horario, es decir, con el patrón HH:MM (H = hora, M= minuto) o bien con el patrón H:MM. Tener en cuenta que las horas deben ser correctas. Por ejemplo: 29:80 no valdria. Ejemplos: 01:00 00:00 23:50 2:38 ... Título: Re: [RETOS] Expresiones Regulares Publicado por: Valkyr en 24 Agosto 2011, 22:35 pm Propongo la siguiente expresión regular:
Código: (([0-1]\d|2[0-3])|\d):[0-5]\d Reconoce los ejemplos que has puesto xD. Saludos. Título: Re: [RETOS] Expresiones Regulares Publicado por: Darkgold9 en 24 Agosto 2011, 23:34 pm Citar Propongo la siguiente expresión regular: Código: Código: Reconoce los ejemplos que has puesto xD. Saludos. Exacto, es exactamente la misma que habia hecho yo :xD. A ver si alguien mas se anima, te paso el poder >:D :laugh: Título: Re: [RETOS] Expresiones Regulares Publicado por: criskapunk en 25 Agosto 2011, 15:07 pm Buenas chicos,
Esa expresión no valida bien. Devuelve lo siguiente: Código: 0:00 Formato valido Mi expresión es así (Hay que agregarle únicamente el ^ y $ :xD). Código: ^([0-1]\d|2[0-3]|(\d)):([0-5]\d)$ Código: 0:00 Formato valido Les dejo el script que utilicé. Código
Un saludo. Título: Re: [RETOS] Expresiones Regulares Publicado por: criskapunk en 26 Agosto 2011, 14:34 pm Como no publicaron nada todavía, para que no muera el hilo les dejo otro reto.
Validar fechas con el siguiente formato: dd/mm/aaaa. (La cadena 1/2/2000 no sería válida. Tendría que ser 01/02/2000, por ejemplo). - Comprobar si la cantidad de días es correcta para el mes en cuestión. Por ejemplo, no sería correcta 30/02/2000. Para Febrero tomamos como valor de 28 días, sin considerar años bisiestos (No se si esto se podrá hacer con RegExp xD). - El intervalo de años debe estar entre 1900 y 2050. Edito: Ya la terminé. Es ILEGIBLE :P Un saludo. Título: Re: [RETOS] Expresiones Regulares Publicado por: raul338 en 27 Agosto 2011, 01:47 am Código: ^(?>3[01]|0[1-9]|[12]\d)/(?>(?<=(?>0[1-9]|[12]\d)/)(?>0[1-9]|1[012])|(?<=31/)(?>0[13578]|1[02])|(?<=30/)(?>0[13-9]|1[012]))/(?>19\d\d|20[0-4]\d|2050)$ Pruebenlo :P me costo un poco PD: No se sabe si el año es bisiesto o no :xD y creo que eso no se puede saber Título: Re: [RETOS] Expresiones Regulares Publicado por: Shell Root en 27 Agosto 2011, 01:57 am No se porque no funciona con 30/12/2011, esta correcta la fecha no?, y falta validar 00/12/2011, 00/00/2011, 01/13/2011
Título: Re: [RETOS] Expresiones Regulares Publicado por: criskapunk en 27 Agosto 2011, 02:09 am Raul, tu expresión toma como válidos los años del 2051 al 2059. Era hasta el 2050 inclusive.
Edito: @Shell Root: Las fechas 00/12/2011 y 00/00/2011 no se tienen que validar, no existen los días o meses cero. Un saludo y gracias por participar :P Título: Re: [RETOS] Expresiones Regulares Publicado por: Shell Root en 27 Agosto 2011, 02:13 am ¬¬ Crees que soy estupido o que? Obviamente no, pero la ExpReg la filtra como si fuera una fecha correcta.
Título: Re: [RETOS] Expresiones Regulares Publicado por: criskapunk en 27 Agosto 2011, 02:15 am No era para que te lo tomes a mal. Entendí mal tu mensaje. Disculpas.
Un saludo. Título: Re: [RETOS] Expresiones Regulares Publicado por: Valkyr en 27 Agosto 2011, 03:00 am Perdón por no haber posteado ningún reto pero me ha sido imposible conectarme apenas más de cinco minutos.
Yo he sacado esta expresión, es un poco engorrosa pero creo que puede valer: Código: ^((0[1-9]|[12]\d)/(0[13-9]|1[0-2])|28/02|3(0/(04|06|09|11)|1/(01|03|05|07|08|10|12)))/(19\d\d|20([0-4]\d|50))$ Supongo que quizás podría simplificarse pero no es cuestión de matarme mirando la expresión a estas horas. Saludos. Título: Re: [RETOS] Expresiones Regulares Publicado por: raul338 en 27 Agosto 2011, 03:09 am Ya arregle la mía ;D
@Valkyr link: Tu Expresion regular no me toma como valida estas fechas Código: 30/07/2000 Edit, estas fechas deberian ser validas Código: 31/07/2000 y estas no Código: 01/00/2011 Título: Re: [RETOS] Expresiones Regulares Publicado por: Shell Root en 27 Agosto 2011, 06:24 am Emmm no @raul338,
Intentad con 01/00/2011 Título: Re: [RETOS] Expresiones Regulares Publicado por: raul338 en 27 Agosto 2011, 14:48 pm Título: Re: [RETOS] Expresiones Regulares Publicado por: raul338 en 28 Agosto 2011, 09:30 am Bueno pues... ya que no hubo actividad... propongo el reto :3
el reto es validar una URI en todas sus formas :3 desde http://hola/ hasta http:8080//en.misitio.gov.ar/carpeta/archivo/1.html?aaa=eee&iii=ooo#una :P |