Cómo buscar teléfonos y tarjetas con regex

Clase 4 de 29Curso de Expresiones Regulares

Resumen

Las expresiones regulares no son teoría abstracta: sirven para encontrar y transformar datos reales con precisión. Aquí verás cómo detectar teléfonos, tarjetas de crédito y formatear números en CSV, mientras dominas clases como \d y \w, y cuantificadores para definir repeticiones exactas o flexibles.

¿Cómo resolver problemas reales con expresiones regulares?

Las necesidades más comunes incluyen ubicar patrones numéricos y limpiar datos. La clave está en describir cómo aparecen en texto: cuántos dígitos tienen, si llevan separadores y qué caracteres los componen. Así evitamos complejidad innecesaria y vamos directo a resultados.

¿Cómo detectar teléfonos de México con regex?

  • Un teléfono de México: diez dígitos seguidos.
  • Alternativamente: cinco parejas de dos dígitos con guion.
  • Ejemplos de patrones.
\d{10}
\d{2}-\d{2}-\d{2}-\d{2}-\d{2}
  • Consejo: si usas separadores, define explícitamente el guion para evitar falsos positivos.

¿Cómo reconocer teléfonos de Estados Unidos con regex?

  • Formato típico: tres dígitos, guion, tres dígitos, guion, cuatro dígitos.
\d{3}-\d{3}-\d{4}
  • Idea clave: el patrón es de longitud fija y separadores predecibles.

¿Cómo identificar tarjetas de crédito y el BIN con regex?

  • Tarjeta: dieciséis dígitos en bloques de 4.
  • Pueden verse con espacios o sin separadores.
\d{4}\s\d{4}\s\d{4}\s\d{4}
\d{16}
  • BIN: los primeros seis dígitos de la tarjeta.
\d{6}
  • Nota: si necesitas extraer el BIN, primero ubica la tarjeta y luego toma sus seis dígitos iniciales.

¿Qué conceptos, clases y cuantificadores debes dominar?

Para convertir descripciones en patrones efectivos, primero define qué buscas, después cómo se separa y finalmente cuántas veces aparece. Así transformas un “chorizo larguísimo” en partes claras y mantenibles.

¿Cómo usar clases de caracteres?

  • Dígitos: \d representa un dígito.
  • Palabras: \w representa un carácter de word, incluye el underscore.
  • Úsalas para abstraer: números como \d, palabras como \w.

Ejemplos.

\d # un dígito \w+ # uno o más caracteres de palabra

¿Cómo dar forma y repetición?

  • Exactitud: {} controla cuántas veces se repite algo.
  • Ejemplos prácticos.
\d{10} # exactamente diez dígitos \d{4} # exactamente cuatro dígitos
  • Separadores: define explícitamente si hay guion, punto o espacio.
\d{2}-\d{2}-\d{2} # dos dígitos, guion, dos dígitos, guion, dos dígitos

¿Qué tan abierto dejar el patrón?

  • “Uno o más”: + para secuencias continuas.
  • “Cero o uno”: ? para datos opcionales.
  • Rangos: {min,max} para límites flexibles.
\d+ # uno o más dígitos \d? # cero o un dígito \d{3,6} # de tres a seis dígitos
  • Tip: usa flexibilidad solo cuando el dato lo requiera. Demasiada apertura crea falsos positivos.

¿Qué herramientas y archivos usarás en el curso?

Trabajarás con ejemplos reales y archivos listos para probar patrones. La idea es enfocarte en buscar y transformar datos sin perderte en teoría.

  • Archivos de ejemplo y scripts para diferentes lenguajes: estarán en las notas.
  • Editor recomendado: Atom, disponible en múltiples plataformas.
  • Ventaja: búsqueda con expresiones regulares rápida y cómoda.
  • Precaución: en JSON no conviene la búsqueda por líneas; su estructura no es lineal.
  • Próximo paso: empezar a buscar patrones en texto con prácticas guiadas.

¿Quieres que construyamos juntos un patrón para tu caso? Cuéntame qué formato necesitas detectar y lo pulimos paso a paso.