Saltar al contenido

Limitar las cadenas de entrada de Python a ciertos caracteres y longitudes

Solución:

Pregunta 1: Restringir a ciertos personajes

Tienes razón, esto es fácil de resolver con expresiones regulares:

import re

input_str = raw_input("Please provide some info: ")
if not re.match("^[a-z]*$", input_str):
    print "Error! Only letters a-z allowed!"
    sys.exit()

Pregunta 2: Restringir a cierta longitud

Como Tim mencionó correctamente, puede hacer esto adaptando la expresión regular en el primer ejemplo para permitir solo un cierto número de letras. También puede verificar manualmente la longitud de esta manera:

input_str = raw_input("Please provide some info: ")
if len(input_str) > 15:
    print "Error! Only 15 characters allowed!"
    sys.exit()

O ambos en uno:

import re

input_str = raw_input("Please provide some info: ")
if not re.match("^[a-z]*$", input_str):
    print "Error! Only letters a-z allowed!"
    sys.exit()
elif len(input_str) > 15:
    print "Error! Only 15 characters allowed!"
    sys.exit()

print "Your input was:", input_str

Las expresiones regulares también pueden limitar el número de caracteres.

r = re.compile("^[a-z]{1,15}$")

le da una expresión regular que solo coincide si la entrada es letras ASCII completamente minúsculas y de 1 a 15 caracteres de longitud.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *