Regex (regex) es una poderosa herramienta para buscar y procesar texto. Puede que parezcan complicados, pero los conceptos básicos son realmente sencillos. Esta guía le ayudará a empezar.
¿Qué son las expresiones regulares?
Una expresión regular es un patrón para buscar texto. Por ejemplo, la expresión \d{3}-\d{2}-\d{2} encontrará todos los números de teléfono con el formato 123-45-67.
Sintaxis básica
Caracteres
.— cualquier carácter único\d— número (0-9)\w— letra, número o guión bajo\s— carácter de espacio (espacio, tabulación)[abc]— uno de a, b o c[^abc]— cualquier carácter excepto a, b, c
Cuantificadores
*— 0 o más repeticiones+— 1 o más repeticiones?— 0 o 1 repetición{3}— exactamente 3 repeticiones{2,5}— de 2 a 5 repeticiones
Anclajes
^— el comienzo de la línea$— fin de línea\b— límite de palabra
Ejemplos prácticos
Validación de correo electrónico
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Teléfono (Ucrania)
^\+?380\d{9}$
URL
^https?:\/\/[\w.-]+\.[a-z]{2,}(\/\S*)?$
Dirección IP (IPv4)
^(\d{1,3}\.){3}\d{1,3}$
Fecha (DD.MM.AAAA)
^(0[1-9]|[12]\d|3[01])\.(0[1-9]|1[0-2])\.\d{4}$
Prueba de expresiones regulares
Utilice el Regex Tester de Xuvero para probar sus expresiones en tiempo real. La herramienta resalta coincidencias y muestra grupos de captura.
Regex en diferentes lenguajes de programación
JavaScript
const pattern = /^\d{3}-\d{2}-\d{2}$/;
pattern.test("123-45-67"); // true
Python
import re
re.match(r'^\d{3}-\d{2}-\d{2}$', "123-45-67") # Match object
PHP
preg_match('/^\d{3}-\d{2}-\d{2}$/', "123-45-67"); // 1
Errores comunes
- Greed —
.*agarra tanto como sea posible. Utilice.*?para una coincidencia mínima - Caracteres especiales sin escape — punto
.sin\coincide con cualquier carácter - Anclajes olvidados — sin
^y$la expresión encontrará coincidencias parciales