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