Una expresión regular (regex) es un patrón de búsqueda que describe un conjunto de cadenas de texto según una sintaxis precisa. Estandarizadas por POSIX y extendidas por Perl, las regex se utilizan en todos los lenguajes de programación para validación de formularios, extracción de datos, buscar-reemplazar y parsing de archivos. Caracteres como . (cualquier carácter), * (cero o más), \d (dígito) y [a-z] (rango) forman el vocabulario base.
¿Cómo funcionan las expresiones regulares?
Las expresiones regulares operan como un mini lenguaje de patrones que el motor regex recorre carácter por carácter. Cada símbolo en el patrón representa una restricción: \d exige un dígito, \w un carácter alfanumérico, y \s un espacio en blanco. Los cuantificadores como + (uno o más), ? (cero o uno) y {n,m} (entre n y m) controlan la repetición. Las anclas ^ y $ fijan el patrón al inicio o final de la cadena. El motor prueba el patrón en cada posición del texto hasta encontrar una coincidencia o agotar todas las posibilidades.
¿Qué es un grupo de captura en regex?
Los grupos de captura se crean encerrando parte del patrón entre paréntesis (). Permiten extraer porciones específicas del texto coincidente. Por ejemplo, la regex (\d{4})-(\d{2})-(\d{2}) aplicada a «2026-03-23» captura el año, mes y día por separado. Los grupos con nombre (?<año>\d{4}) hacen el código más legible. Los grupos no capturantes (?:...) agrupan sin capturar, útiles cuando solo necesitas agrupar para aplicar un cuantificador.
¿Cuáles son los formatos de nombre de usuario en redes sociales?
Cada plataforma tiene reglas distintas que puedes validar con regex. Twitter/X permite 1-15 caracteres alfanuméricos y guiones bajos: ^[a-zA-Z0-9_]{1,15}$. Instagram permite hasta 30 caracteres con puntos: ^[a-zA-Z0-9_.]{1,30}$. GitHub acepta guiones pero no al inicio: ^[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$. Estas regex son útiles para validar formularios antes de llamar a la API de cada plataforma. ¿Necesitas formatear datos JSON? Prueba nuestro formateador JSON.