Usar Expresiones Regulares
En este paso, aprenderás cómo usar expresiones regulares en Python para identificar caracteres especiales. Las expresiones regulares son herramientas poderosas para la coincidencia de patrones en cadenas.
Primero, creemos un script de Python llamado regex_special_characters.py
en tu directorio ~/project
utilizando el editor VS Code.
## Content of regex_special_characters.py
import re
def find_special_characters(text):
special_characters = re.findall(r"[^a-zA-Z0-9\s]", text)
return special_characters
text = "Hello! This is a test string with some special characters like @, #, and $."
special_chars = find_special_characters(text)
print("Special characters found:", special_chars)
Esto es lo que hace este código:
import re
: Esta línea importa el módulo re
, que proporciona operaciones de expresiones regulares.
def find_special_characters(text):
: Esto define una función que toma una cadena como entrada y encuentra todos los caracteres especiales en ella.
special_characters = re.findall(r"[^a-zA-Z0-9\s]", text)
: Esta línea utiliza la función re.findall()
para encontrar todos los caracteres en la cadena de entrada que no son alfanuméricos (a-z, A-Z, 0-9) o espacios en blanco (\s
). El [^...]
es una clase de caracteres negada, lo que significa que coincide con cualquier carácter no en el conjunto especificado.
return special_characters
: Esta línea devuelve una lista de los caracteres especiales encontrados.
- Las líneas restantes definen una cadena de muestra, llaman a la función para encontrar caracteres especiales en ella e imprimen el resultado.
Ahora, ejecutemos el script. Abre tu terminal y ejecuta el siguiente comando:
python regex_special_characters.py
Deberías ver la siguiente salida:
Special characters found: ['!', '@', ',', '#', '$', '.']
Esta salida muestra la lista de caracteres especiales encontrados en la cadena de entrada utilizando la expresión regular.
Modifiquemos el script para usar una expresión regular diferente que coincida solo con signos de puntuación.
Abre regex_special_characters.py
en VS Code y modifícalo de la siguiente manera:
## Modified content of regex_special_characters.py
import re
import string
def find_punctuation_characters(text):
punctuation_chars = re.findall(r"[" + string.punctuation + "]", text)
return punctuation_chars
text = "Hello! This is a test string with some punctuation like ., ?, and !."
punctuation = find_punctuation_characters(text)
print("Punctuation characters found:", punctuation)
En este script modificado, hemos utilizado string.punctuation
para definir el conjunto de signos de puntuación a coincidir.
Ejecuta el script nuevamente:
python regex_special_characters.py
Deberías ver la siguiente salida:
Punctuation characters found: ['!', '.', '?', '!']
Esta salida muestra la lista de signos de puntuación encontrados en la cadena de entrada utilizando la expresión regular y la constante string.punctuation
.
Usar expresiones regulares proporciona una forma flexible y poderosa de identificar y extraer caracteres especiales de cadenas en Python.