Foros del Web » Programando para Internet » Python »

Expresiones Regulares

Estas en el tema de Expresiones Regulares en el foro de Python en Foros del Web. Saludos! tengo un problema con expresiones regulares, necesito prohibir la entrada de una sola letra en un campo de texto, es decir que solo permita ...
  #1 (permalink)  
Antiguo 19/12/2011, 14:02
 
Fecha de Ingreso: noviembre-2011
Mensajes: 12
Antigüedad: 12 años, 5 meses
Puntos: 0
Expresiones Regulares

Saludos! tengo un problema con expresiones regulares, necesito prohibir la entrada de una sola letra en un campo de texto, es decir que solo permita ingresar palabras, más de una letra en vez de una sola, a quien me pueda ayudar se lo agradezco :D

Aquí dejo un ejemplo que encontré, que solo permite ingresar números.
Código Python:
Ver original
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import re
  4. import gtk
  5.  
  6. ONLY_NUMBERS = re.compile('[0-9]')
  7.  
  8. def on_insert_text(editable, new_text, new_text_length, position):
  9.     '''called when text is inserted on an entry'''
  10.     if ONLY_NUMBERS.match(new_text) is None:
  11.         editable.stop_emission('insert-text')
  12.  
  13. entry = gtk.Entry()
  14. entry.connect('insert-text', on_insert_text)
  15. window = gtk.Window()
  16. window.set_title('only numbers')
  17. window.add(entry)
  18. window.connect('delete-event', gtk.main_quit)
  19. window.show_all()
  20.  
  21. gtk.main()
  #2 (permalink)  
Antiguo 19/12/2011, 15:05
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Expresiones Regulares

A ver así:
Código Python:
Ver original
  1. WORDS = re.compile('^(\s*[A-z]+\s*)+$')
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 19/12/2011, 15:08
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Expresiones Regulares

@cronos,
cuidado con este rango [A-z], no es lo mismo que [A-Za-z].

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 19/12/2011, 15:38
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Expresiones Regulares

Cita:
Iniciado por zerokilled Ver Mensaje
@cronos,
cuidado con este rango [A-z], no es lo mismo que [A-Za-z].

Lo sé, pero se me olvida +1
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 20/12/2011, 08:15
 
Fecha de Ingreso: noviembre-2011
Mensajes: 12
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Expresiones Regulares

Hola amigos la verdad no me funciona de esta forma, aunque siendo sincero creo no lo hace porque no se como adaptarlo a mi código creo que lo haré por la forma larga
Código Python:
Ver original
  1. if entry.get_text() == "a" or entry.get_text() =='b' or entry.get_text() =='c':#Así hasta llegar a la z
  2.     print 'No puede introducir solo una letra'
  #6 (permalink)  
Antiguo 20/12/2011, 08:59
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Expresiones Regulares

Creo que primero te recomendaría tomar un tutorial de expresiones regulares.

Ahora por lo que veo quieres limitar tu entrada a una sola letra. En ese caso puedes hacer lo siguiente.
Código Python:
Ver original
  1. import re
  2. p = re.compile('^[a-zA-Z]$')
  3. if p.match('a') is None:
  4.     print "No match"
  5. else:
  6.     print "Match"
  #7 (permalink)  
Antiguo 20/12/2011, 09:16
 
Fecha de Ingreso: noviembre-2011
Mensajes: 12
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Expresiones Regulares

Quiero hacer todo lo contrario amigo, que NO permita ingresar una sola letra
  #8 (permalink)  
Antiguo 20/12/2011, 11:40
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Expresiones Regulares

Cita:
Iniciado por nixonmolina18 Ver Mensaje
Quiero hacer todo lo contrario amigo, que NO permita ingresar una sola letra
Esto es ambiguo,
quieres que sean 2 o mas letras?
Código:
^[a-zA-Z]{2,}$
quieres que la cadena no contenga ninguna letra?
Código:
^[^a-zA-Z]$

Etiquetas: expresiones, regulares
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:48.