Expresiones Regulares para Principiantes: Guía Práctica
Las expresiones regulares son una de las herramientas más poderosas en programación. Esta guía explica la sintaxis y muestra ejemplos prácticos que puedes usar de inmediato.
Las expresiones regulares (regex) son patrones usados para buscar, coincidir y manipular texto. Están disponibles en prácticamente todos los lenguajes de programación y editores de texto. Una vez que aprendes los fundamentos, se convierten en una herramienta increíblemente poderosa.
Sintaxis básica: literales y comodines
La regex más simple es una coincidencia literal — /hola/ coincide con la palabra "hola". El punto (.) es un comodín que coincide con cualquier carácter excepto un salto de línea. Para coincidir con un punto literal, necesitas escaparlo: /hola\./ coincide con "hola." con el punto.
Cuantificadores: ¿cuántas veces?
Los cuantificadores controlan cuántas veces puede repetirse un patrón. El asterisco (*) significa "cero o más", el más (+) "uno o más" y el signo de interrogación (?) "cero o uno". Las llaves especifican conteos exactos: {3} significa exactamente 3, {2,5} entre 2 y 5.
Clases de caracteres y atajos
Los corchetes definen clases de caracteres. [aeiou] coincide con cualquier vocal; [a-z] con cualquier letra minúscula; [0-9] con cualquier dígito. Los atajos hacen los patrones más legibles: \d coincide con cualquier dígito, \w con caracteres de palabra y \s con espacios en blanco.
Anclas, grupos y alternancia
El acento circunflejo (^) ancla la coincidencia al inicio; el dólar ($) al final. /^\d+$/ coincide solo con una cadena de dígitos. Los paréntesis crean grupos de captura. La barra | significa "o": /gato|perro/ coincide con "gato" o "perro".
Cómo usar el probador de regex
Introduce tu patrón en el campo regex, luego escribe tu cadena de prueba abajo. La herramienta resalta todas las coincidencias en tiempo real y muestra los detalles de cada coincidencia, incluidos los grupos capturados. Puedes añadir indicadores: g (global), i (sin distinción de mayúsculas) y m (multilínea).