Título: [Solucionado]Duda con regex Publicado por: .:UND3R:. en 25 Noviembre 2013, 21:18 pm Qué expresión regular debería filtrar una string para que me queden solo números y guiones de la siguiente forma:
00-123-456-789 o 00123456789 pero no esto: 00-123--457-789 -00-123-456-789- -00123456789- 00-123-456-789- Solo números y guiones, estos no deberían repetirse ni estar en los extremos Código Gracias Título: Re: Duda con regex Publicado por: csp en 25 Noviembre 2013, 22:47 pm La longitud de las cadenas es la misma que pusiste en los ejemplos, en esos formatos? O es solo a modo de explicación?
Título: Re: Duda con regex Publicado por: .:UND3R:. en 25 Noviembre 2013, 22:52 pm entre guiones puede ir cualquier cantidad de dígitos, muchas gracias por tu interés
Título: Re: Duda con regex Publicado por: Shell Root en 25 Noviembre 2013, 23:06 pm y puede haber n cantidad de guiones?
Título: Re: Duda con regex Publicado por: .:UND3R:. en 26 Noviembre 2013, 00:00 am efectivamente, intentaré detallar:
Sólo puede constar de números y guiones (-) No pueden haber guiones al inicio y al final, ejemplo: -10101-123123 191919-23123- -34534-1233- -123- etc. No se pueden repetir guiones: 1234--123 Debe tener n números entre medio de cada guión y n guiones uff listo jeje Título: Re: Duda con regex Publicado por: csp en 26 Noviembre 2013, 00:18 am Fijate con esta a ver si hace lo que necesitás:
Código
Título: Re: Duda con regex Publicado por: .:UND3R:. en 26 Noviembre 2013, 00:41 am Me marca un error:
Código ¿ A qué se puede deber esto? Gracias nuevamente PD: soy nuevo con esto de expresiones regulares y su uso (es un caso de necesidad puntual) EDIT: Utilizo netbeans y me marca que la string presenta ilegal scape character Título: Re: Duda con regex Publicado por: csp en 26 Noviembre 2013, 00:53 am La verdad no te sabría responder el porque del error (Recién estoy comenzando a aprender Java), pero intentá de la siguiente manera:
Código
Título: Re: Duda con regex Publicado por: .:UND3R:. en 26 Noviembre 2013, 01:04 am Ahí ha funcionado, aunque no cumple con lo que me gustaría que hiciera, he aquí la entrada y luego la salida:
Entrada: 123asd--asd-12312-asd-11-1333-122 Salida: asd--asd-12312-asd-11-1333-122 Solo elimino el primer caracter, debería quedar: 123-12312-11-1333-122 A ver que se puede hacer muchas gracias Título: Re: Duda con regex Publicado por: Danyfirex en 26 Noviembre 2013, 02:34 am se me ocurrió algo así:
Código
no lo probé. saludos Título: Re: Duda con regex Publicado por: .:UND3R:. en 26 Noviembre 2013, 02:52 am Wuajajaja funciona de maravilla, muchas gracias ;-)
Edit: hay un pequeño problema lo que ocurre es que estoy filtrando un jtexfield cuando escribo una letra o lo que sea se convierte en un "-", cómo se arreglaría aquello? Código
Título: Re: Duda con regex Publicado por: .:UND3R:. en 26 Noviembre 2013, 03:08 am Esto funciona cuando hacen un copy paste en el textfield pero no cuando se escribe de forma manual:
Código
Título: Re: Duda con regex Publicado por: Danyfirex en 26 Noviembre 2013, 03:19 am mmm lo tienes como un callback. (es que no se java)
pues tendrías que colocar mas condiciones. no manejo mucho expresiones regulares eso fue algo básico que recordaba y como dices funciona solo cuando esta todo en el textfield si vas escribiendo remplazara por "-" menos los números. Título: Re: Duda con regex Publicado por: .:UND3R:. en 26 Noviembre 2013, 13:37 pm De todas formas, muchas gracias, a ver si alguien se anima a solucionar el pequeño desperfecto del regex, saludos :)
Título: Re: Duda con regex Publicado por: .:UND3R:. en 26 Noviembre 2013, 21:05 pm Solucionado, tuve que aprender regex :(, adjunto el código:
Código
Saludos |