online language example español python regex string alphanumeric

language - regex python español



¿Cómo compruebo si una cadena solo contiene caracteres alfanuméricos y guiones? (4)

La cadena que estoy probando puede coincidir con [/w-]+ . ¿Puedo probar si una cadena se ajusta a esto en Python, en lugar de tener una lista de los caracteres no permitidos y probar eso?


Para probar si la cadena contiene solo caracteres alfanuméricos y guiones, usaría

import re found_s = re.findall(''^[/w-]+$'', s) valid = bool(found_s) and found_s[0] == s


Python también tiene expresiones regulares:

import re if re.match(''^[/w-]+$'', s): ...

O puedes crear una lista de caracteres permitidos :

from string import ascii_letters if all(c in ascii_letters+''-'' for c in s): ...


Si desea probar una cadena con una expresión regular, use la biblioteca re

import re valid = re.match(''^[/w-]+$'', str) is not None


Sin importar ningún módulo simplemente usando python puro, elimine cualquier alfa, numérico excepto guiones.

string = ''#Remove-*crap?-from-this-STRING-123$%'' filter_char = lambda char: char.isalnum() or char == ''-'' filter(filter_char, string) # This returns--> ''Remove-crap-from-this-STRING-123''

O en una línea:

''''.join([c for c in string if c.isalnum() or c in [''-'']])