Programa Python para verificar que una string solo contiene letras, números, guiones bajos y guiones

Requisito previo: expresión regular en Python

Dada una string, tenemos que encontrar si la string contiene letras, números, guiones bajos y guiones o no. Por lo general, se utiliza para verificar la validez del nombre de usuario y la contraseña. Por ejemplo, el usuario tiene una string para el nombre de usuario de una persona y no quiere que el nombre de usuario tenga caracteres especiales como @, $, etc. 

Veamos los diferentes métodos para resolver esta tarea:

Método 1: uso de expresiones regulares.

Hay una función en la biblioteca de expresiones regulares ( re ) que compara dos strings para nosotros. re.match (patrón, string) es una función que devuelve un objeto, para encontrar si una coincidencia es encontrar o no, tenemos que encasillarla en booleano. 

Sintaxis: re.match(patrón, string) 

Parámetros:

  • patrón: el patrón con el que desea comprobar 
  • string: la string que desea verificar para el patrón 

Devolución: objeto de coincidencia 

Veamos un ejemplo:

Ejemplo 1:

Python3

# import library
import re
  
# make a pattern
pattern = "^[A-Za-z0-9_-]*$"
  
# input
string = "G33ks_F0r_Geeks"
  
# convert match object 
# into boolean values
state = bool(re.match(pattern, string))
  
print(state)

Producción:

True

Ejemplo 2:

Python3

# import library
import re
  
print(bool(re.match("^[A-Za-z0-9_-]*$",
                    'ValidString12-_')))
  
print(bool(re.match("^[A-Za-z0-9_-]*$", 
                    'inv@lidstring')))

Producción:

True
False

Método 2: Uso de Set.

Set es un tipo de datos integrado en Python. Estamos usando la función issubset() del conjunto que devuelve Verdadero si todos los caracteres de un conjunto están presentes en un conjunto dado De lo contrario, Falso.

Sintaxis: set_name.issubset(set)
Parámetros: 

  • conjunto: representa el conjunto en el que se debe buscar el subconjunto 

Retorno: valor booleano

Veamos un ejemplo:
Ejemplo 1: 

Python3

# create a set of allowed characters
allowed_chars = set(("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-"))
  
# input string
string = "inv@lid"
  
# convert string into set of characters
validation = set((string))
  
# check condition
if validation.issubset(allowed_chars):
    print("True")
      
else:
    print ("False")

Producción:

False

Ejemplo 2: 

Python3

allowed_chars = set("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-")
  
string = "__Val1d__"
  
validation = set((string))
  
if validation.issubset(allowed_chars):
    print("True")
      
else:
    print ("False")

Producción:

True

Publicación traducida automáticamente

Artículo escrito por aakashsaxena14 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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