0Pricing
Learn AI with Python · Lección

Patrones de regex y clases de caracteres

\d, \w, \s, ., ^, $, +, *, ?, {n,m}, clases de caracteres [a-z] y negación [^...].

Patrones de regex y clases de caracteres es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.

Por qué importan las expresiones regulares para la IA de texto

La IA de texto comienza con texto sin formato desordenado. Las expresiones regulares (regex) son un lenguaje compacto para buscar y extraer patrones —números de teléfono, fechas, hashtags y URL—, de modo que pueda limpiar y estructurar el texto antes de proporcionárselo a un modelo.

En este curso aprenderá patrones, el módulo re, grupos y un flujo de trabajo real para limpiar texto.

Caracteres literales

El patrón más sencillo es el texto literal: coincide exactamente con esos caracteres. De forma predeterminada, regex distingue entre mayúsculas y minúsculas.

cat coincide con "cat" dentro de "the cat sat", pero no con "Cat".

import re

print(re.findall("cat", "the cat sat on a cat mat"))
# ["cat", "cat"]

El metacarácter punto

El punto . coincide con cualquier carácter individual excepto un salto de línea. Es un comodín.

c.t coincide con "cat", "cot" y "c9t": cualquier secuencia formada por c, un carácter y t.

import re

print(re.findall("c.t", "cat cot cut c@t"))
# ["cat", "cot", "cut", "c@t"]

Clases de dígitos, caracteres de palabra y espacios

Las clases de caracteres abreviadas abarcan grupos habituales:

  • \d — un dígito (0-9)
  • \w — un carácter de palabra (letra, dígito o guion bajo)
  • \s — un espacio en blanco (espacio, tabulador o salto de línea)
import re

print(re.findall("\d", "a1b2c3"))     # ["1", "2", "3"]
print(re.findall("\w", "a_1!"))        # ["a", "_", "1"]
print(re.findall("\s", "a b\tc"))      # [" ", "\t"]

Clases negadas

Las versiones en mayúscula niegan la clase:

  • \D — cualquier cosa que NO sea un dígito
  • \W — cualquier cosa que NO sea un carácter de palabra
  • \S — cualquier cosa que NO sea un espacio en blanco
import re

print(re.findall("\D", "a1b2"))   # ["a", "b"]
print(re.findall("\S", "a b c"))  # ["a", "b", "c"]

Conjuntos de caracteres personalizados con [ ]

Los corchetes definen su propio conjunto: coinciden con cualquier carácter incluido en su interior. Los rangos utilizan un guion.

  • [aeiou] — cualquier vocal
  • [A-Za-z] — cualquier letra
  • [0-9] — cualquier dígito (igual que \d)
import re

print(re.findall("[A-Za-z]", "ab12CD"))   # letters only
print(re.findall("[aeiou]", "hello"))      # ["e", "o"]

Conjuntos negados con [^ ]

Un circunflejo dentro de los corchetes niega el conjunto: coincide con cualquier carácter que NO esté incluido.

[^abc] coincide con cualquier cosa excepto a, b o c. (Un circunflejo fuera de los corchetes es un ancla, que veremos a continuación).

import re

print(re.findall("[^aeiou ]", "hello world"))
# consonants: ["h", "l", "l", "w", "r", "l", "d"]

Anclas: ^ y $

Las anclas coinciden con posiciones, no con caracteres:

  • ^ — inicio de la cadena (o línea)
  • $ — final de la cadena (o línea)

^Hello solo coincide si el texto comienza por "Hello".

import re

print(bool(re.search("^Hello", "Hello world")))  # True
print(bool(re.search("world$", "Hello world")))  # True
print(bool(re.search("^world", "Hello world")))  # False

Cuantificadores: + * ?

Los cuantificadores indican cuántas veces se repite el elemento anterior:

  • + — una o más
  • * — cero o más
  • ? — cero o una (opcional)
import re

print(re.findall("\d+", "abc 123 de 45"))   # ["123", "45"]
print(re.findall("ab*", "a ab abb"))         # ["a", "ab", "abb"]
print(re.findall("colou?r", "color colour")) # both match

Cuantificador de rango {n,m}

Las llaves indican un número exacto o un rango:

  • {3} — exactamente 3
  • {2,4} — entre 2 y 4
  • {2,} — 2 o más

Resultan muy útiles para elementos de longitud fija, como códigos postales o segmentos de números de teléfono.

import re

print(re.findall("\d{3}", "12 345 6789"))    # ["345", "678"]
print(re.findall("\d{2,4}", "1 22 3333 55555"))

Combinación de las piezas

Los patrones reales combinan clases, conjuntos, anclas y cuantificadores. Este coincide con un número de teléfono sencillo de EE. UU., como 555-123-4567:

\d{3}-\d{3}-\d{4} — tres dígitos, guion, tres dígitos, guion y cuatro dígitos.

import re

text = "Call 555-123-4567 or 999-888-7777"
print(re.findall("\d{3}-\d{3}-\d{4}", text))
# ["555-123-4567", "999-888-7777"]

Comprobación rápida: cuantificadores

Quiere hacer coincidir uno o más dígitos consecutivos.

Resumen: patrones y clases de caracteres

Ahora conoce los componentes básicos de regex:

  • Literales y el comodín .
  • Clases \d \w \s y sus negaciones \D \W \S
  • Conjuntos personalizados [A-Za-z] y conjuntos negados [^abc]
  • Anclas ^ y $
  • Cuantificadores + * ? y rangos {n,m}

A continuación: las funciones del módulo de Python re.

Preguntas frecuentes

¿La lección «Patrones de regex y clases de caracteres» es gratis?

Sí — el texto completo de «Patrones de regex y clases de caracteres» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Qué aprenderé en «Patrones de regex y clases de caracteres»?

\d, \w, \s, ., ^, $, +, *, ?, {n,m}, clases de caracteres [a-z] y negación [^...]. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn AI with Python?

No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Patrones de regex y clases de caracteres»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?

Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Patrones de regex y clases de caracteres
  2. Módulo re: search, match, findall, sub
  3. Grupos de captura y grupos con nombre
  4. Limpieza de texto para IA con regex
← Volver a Learn AI with Python