elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Exprecion regular.. letras-numero guines y guines bajos..
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Exprecion regular.. letras-numero guines y guines bajos..  (Leído 10,290 veces)
Kase


Desconectado Desconectado

Mensajes: 1.288


programa bonito ¬¬


Ver Perfil WWW
Exprecion regular.. letras-numero guines y guines bajos..
« en: 20 Agosto 2011, 09:52 am »

pues eso... no  consigo esta exprecion reguntar...

segun yo deberia ser

\w*-*_*

y devieria poder leer frases como

hola-mundo

hola_o__o

no-tengo_nada_ke-decir

sin embargo no me funciona D=

el error es cono los -   si tienen una letra despues de el guion me causa error..


En línea

Darkgold9

Desconectado Desconectado

Mensajes: 62



Ver Perfil
Re: Exprecion regular.. letras-numero guines y guines bajos..
« Respuesta #1 en: 20 Agosto 2011, 10:15 am »

Citar
\w*-*_*

Con eso solo consigues una cadena seguida de guiones y de guiones bajos, ejemplo: holaquetal----___ , hola-_, hola etc

Si quieres añadir caracteres entre los guiones tendrias que poner:

\w*-*\w*_*\w*



En línea

Kase


Desconectado Desconectado

Mensajes: 1.288


programa bonito ¬¬


Ver Perfil WWW
Re: Exprecion regular.. letras-numero guines y guines bajos..
« Respuesta #2 en: 20 Agosto 2011, 18:45 pm »

Con eso solo consigues una cadena seguida de guiones y de guiones bajos, ejemplo: holaquetal----___ , hola-_, hola etc

Si quieres añadir caracteres entre los guiones tendrias que poner:

\w*-*\w*_*\w*



ya lo abia pobado de ese modo...  pero ahora que lo pienso... creo que no le abia puesto  el \  a cada w... x]  me imagino que asi como le expresaste tendra que servir.. gracias!
En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: Exprecion regular.. letras-numero guines y guines bajos..
« Respuesta #3 en: 22 Agosto 2011, 13:03 pm »

Tal y como ha puesto la expresión regular Darkgold9, reconocerías cadenas del tipo:

hola---que___tal?

Sí quieres reconocer cadenas como las que has puesto en el primer post la expresión regular debería ser así:

Código:
(\w+(-|_)*)*\w+

Y te explico un poco el por qué.

Según las cadenas de ejemplo que has puesto, todas deben comenzar por un caracter de \w, por tanto, hay que poner a la fuerza esto: \w+ con eso estamos reconociendo cadenas que contengan una o más letras o dígitos (sí mal no recuerdo \w incluía también los dígitos pero no estoy seguro). A continuación puede venir, o un guión bajo, o un guión normal y corriente, por tanto eso debe expresarse mediante el operador unión |. Por tanto la parte de la expresión: (-|_)* representa las cadenas de guiones y guiones bajos.

Por último todo lo anterior se junta y se le pone un *, para especificar que todo eso debe aparecer cero o más veces. Para terminar se le añade un \w+ para que reconozca las cadenas que terminen con alguna sucesión de \w.

Espero que lo hayas entendido.

Para los próximos posts intenta escribirlos de una forma más limpia y con menos faltas a la hora de escribir.

Saludos y suerte.
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Exprecion regular.. letras-numero guines y guines bajos..
« Respuesta #4 en: 22 Agosto 2011, 16:57 pm »

Yo lo haría así mas fácil (para no caer en la recursividad de grupos)

Código:
^\w+[\-\_\w]*$

No acepta signos, por lo que no toma "hola---que___tal?" por el "?" al final, si queres agregarlo solo agrega el "?" entre los corchetes :P
En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: Exprecion regular.. letras-numero guines y guines bajos..
« Respuesta #5 en: 22 Agosto 2011, 18:03 pm »

Yo lo haría así mas fácil (para no caer en la recursividad de grupos)

Código:
^\w+[\-\_\w]*$

No acepta signos, por lo que no toma "hola---que___tal?" por el "?" al final, si queres agregarlo solo agrega el "?" entre los corchetes :P

Cierto, mucha mejor expresión que la que se me ocurrió xD. Por otro lado el ejemplo de "hola---que___tal?" se me fue la cabeza al añadir la interrogación jaja.

Saludos.
En línea

Kase


Desconectado Desconectado

Mensajes: 1.288


programa bonito ¬¬


Ver Perfil WWW
Re: Exprecion regular.. letras-numero guines y guines bajos..
« Respuesta #6 en: 23 Agosto 2011, 06:49 am »

al final lo resolvi asi xD

[A-Za-z1-9_-]*


=P  pero muchas gracias por sus soluciones!

ahora que lo pienso,  se podria esto, no?

[\w_-]*

porcierto el  ^ al principio y el $ al final es para indicar que es una exprecion regular?  seme hace raro por que donde las estoy utilizando (en django)  tube que quitarle esos signos para que funcionara
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Exprecion regular.. letras-numero guines y guines bajos..
« Respuesta #7 en: 23 Agosto 2011, 14:38 pm »

no, el "^" indica principo de linea, el "$" indica fin de linea :) es porque si pones "????##@a_" te lo toma como valido usando tu expresion regular :)

La diferencia entre tu expresion regular y la que puse yo, es que en la mia si o si tiene que empezar por una letra o numero, en cambio la tuya no. La tuya toma "__hola" como valido :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
saber si es numero o letras
Programación Visual Basic
Zeroql 6 1,866 Último mensaje 27 Julio 2007, 06:46 am
por ActiveSheet
Xml o Expreción Regular?
PHP
LeandroA 1 1,652 Último mensaje 24 Marzo 2009, 23:20 pm
por Pablo Videla
al ingresar un numero como puedo hacer para que el mensaje sea en letras
Java
fyn 6 3,727 Último mensaje 2 Mayo 2010, 21:31 pm
por Leyer
Ayuda con Exprecion Regular Serie Numerica
Java
cyberserver 4 4,067 Último mensaje 31 Diciembre 2010, 19:55 pm
por cyberserver
exprecion regular.... n__n
Programación General
Kase 3 1,527 Último mensaje 19 Agosto 2012, 06:48 am
por sistemx
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines