Conceptos básicos de regex
Un patrón regex es solo una forma compacta de describir el texto que quieres buscar. Empieza simple: haz coincidir una cosa, pruébalo y luego añade grupos, anclas o cuantificadores solo cuando sea necesario.
Anclas
^ significa inicio de la entrada y $ significa fin de la entrada.
Clases de caracteres
[0-9], [A-Z], y [a-z] coinciden con rangos.
Cuantificadores
* = cero o más, + = uno o más, ? = opcional.
Patrones comunes
| Caso de uso | Patrón | Notas |
|---|---|---|
| Correo electrónico | ^[^\s@]+@[^\s@]+\.[^\s@]+$ | Validación general práctica, no un analizador RFC completo. |
| URL | https?:\/\/[^\s]+ | Detecta enlaces HTTP y HTTPS básicos. |
| Número entero | ^-?\d+$ | Admite signo negativo opcional. |
| Número decimal | ^-?\d+(\.\d+)?$ | Detecta enteros y decimales. |
| Espacio en blanco | \s+ | Útil para reducir espacios y saltos de línea repetidos. |
| Color hexadecimal | ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ | Admite colores de 3 y 6 dígitos. |
| IPv4 | \b(?:\d{1,3}\.){3}\d{1,3}\b | Detecta texto similar a IPv4, sin validación estricta de 0-255. |
| Líneas en blanco | ^\s*$ | Úsalo con el modo multilínea para apuntar a filas vacías. |
Indicadores que usas con más frecuencia
g global
Encuentra todas las coincidencias en lugar de detenerte tras la primera.
i ignorar mayúsculas y minúsculas
Hace que la coincidencia no distinga mayúsculas y minúsculas, útil para palabras clave y entradas de usuario.
m multilínea
Hace que ^ y $ funcione línea por línea.
s dotall
Permite . coincidir también con saltos de línea y caracteres normales.
Errores comunes con expresiones regulares
- No comiences con un patrón gigante que lo abarque todo. Construye de forma incremental y prueba cada parte.
- Recuerda escapar caracteres especiales como ., ?, +, y [ cuando te refieras al carácter literal.
- Si solo quieres palabras completas, añade límites como \bword\b.
- Ten cuidado con la coincidencia codiciosa. .* a menudo captura más de lo que esperas.
Usa esta referencia con la herramienta adecuada
Busca un patrón aquí, pruébalo en vivo, aplícalo a texto real o úsalo en un flujo de trabajo de reemplazo.