CoderTools

Probador de expresiones regulares

Pruebe y depure expresiones regulares con resultados de coincidencia instantáneos

Resultados de Coincidencia

No se encontraron coincidencias

                    

Detalles de Coincidencia

Ingrese un patrón de expresión regular y texto de prueba para ver información detallada de coincidencias
/ /

Plantillas Rápidas

Función de Reemplazo

Use $1, $2, etc. para grupos capturados

                        
sed 's/pattern/replacement/g' input.txt
This sed command can be used in Unix/Linux/macOS terminal or Git Bash on Windows

Documentación de la Herramienta de Prueba de Expresión Regular

¿Qué es una Expresión Regular?

Las expresiones regulares (regex) son herramientas poderosas de coincidencia de patrones utilizadas en programación para buscar, extraer y manipular texto.

Son ampliamente utilizadas para validación de datos, procesamiento de texto y operaciones de búsqueda y reemplazo.

Cómo Usar Esta Herramienta

  1. Elija una plantilla rápida o ingrese su expresión regular
  2. Establezca las banderas apropiadas (g, i, m)
  3. Ingrese texto de prueba
  4. Vea los resultados en tiempo real
  5. Use la función de reemplazo

Banderas de Expresión Regular

g
Global
Encontrar todas las coincidencias
i
Ignorar Mayúsculas
Coincidencia insensible a mayúsculas
m
Multilínea
^ y $ coinciden con límites de línea

Patrones Comunes

Patrones Básicos
\\d - Cualquier dígito (0-9)
\\w - Carácter de palabra
\\s - Carácter de espacio
. - Cualquier carácter excepto nueva línea
Cuantificadores
+ - Uno o más
* - Cero o más
? - Cero o uno
{n} - Exactamente n veces
Anclas
^ - Inicio de línea
$ - Fin de línea
\\b - Límite de palabra

Ejemplos Prácticos

Validación de Email

[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}

Coincide con direcciones de email válidas.

Número de Teléfono (Formato US)

\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})

Captura código de área, intercambio y número con formateo flexible.

Coincidencias (555) 123-4567, 555.123.4567, 555-123-4567

Coincidencia de URL

https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)

Coincide con URLs HTTP/HTTPS con prefijo www opcional y varios formatos de ruta.

Coincidencias https://example.com, http://www.site.org/path

Validación de Contraseña Fuerte

^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d@$!%*?&]{8,}$

Requiere al menos 8 caracteres con minúsculas, mayúsculas y dígitos.

Coincidencias Password123, MyStr0ngP@ss

Características Avanzadas

Grupos de Captura
Use paréntesis () para capturar partes de coincidencias para reemplazo
([0-9]{4})-([0-9]{2})-([0-9]{2})
Lookahead/Lookbehind
Coincidencia basada en lo que viene antes/después sin incluirlo
(?=.*password)
Grupos No Capturantes
Agrupar sin capturar usando (?:pattern)
(?:http|https)://

Consejos y Mejores Prácticas

  • Comience simple y construya complejidad gradualmente
  • Use la bandera global (g) para encontrar todas las coincidencias
  • Escape caracteres especiales con barra invertida (\)
  • Pruebe exhaustivamente con varios ejemplos de entrada
  • Use grupos de captura para reemplazos complejos
  • Considere el rendimiento con textos grandes

sed Command Generation

This tool automatically generates equivalent sed commands based on your regex pattern and replacement text, making it easy to use regex in Unix/Linux command line.

Search Mode (Empty Replacement)

When replacement text is empty, generates a search command to print matching lines only.

sed -n '/pattern/p' input.txt
Ejemplo: Patrón: error
Resultado: Imprime todas las líneas que contienen 'error'

Replace Mode (With Replacement)

When replacement text is provided, generates a substitution command.

sed 's/pattern/replacement/flags' input.txt
Ejemplo: Patrón: foo, Reemplazo: bar
Resultado: Reemplaza todos los 'foo' por 'bar'
Note: Special characters are automatically escaped. The generated command works in Unix/Linux/macOS terminals and Git Bash on Windows.

Mejores prácticas

Empezar simple, luego agregar complejidad

Construya su regex incrementalmente. Comience con un patrón simple que coincida con algunos casos, luego refine para manejar casos límite. Probar cada paso previene depuración compleja.

Usar grupos no capturadores cuando sea posible

Use (?:...) en lugar de (...) cuando no necesite capturar el grupo. Esto mejora el rendimiento y mantiene los números de grupo de captura más limpios.

Anclar sus patrones

Use ^ y $ para anclar patrones a límites de línea/cadena cuando sea apropiado. Los patrones sin anclar pueden coincidir con subcadenas inesperadas.

Ser específico con clases de caracteres

En lugar de .* (que coincide con todo), use clases específicas como [a-zA-Z]+ o \d{3}. Los patrones demasiado amplios causan coincidencias incorrectas y problemas de retroceso.

Escapar caracteres especiales

Recuerde escapar . * + ? [ ] ( ) { } ^ $ \ | cuando quiera coincidir con ellos literalmente. Use el formato de escape Regex de esta herramienta para ayuda.

Probar con casos límite

Pruebe su regex con cadenas vacías, muy largas, caracteres especiales y Unicode. Los datos del mundo real a menudo contienen patrones inesperados.

Solución de problemas

¿Por qué mi patrón no coincide con nada?

Verifique las banderas: 'g' para coincidencias múltiples, 'i' para insensible a mayúsculas, 'm' para multilínea. También verifique que los caracteres especiales estén correctamente escapados.

¿Por qué mi regex hace que el navegador se cuelgue?

Retroceso catastrófico de cuantificadores anidados como (a+)+ o (a|aa)*. Simplifique su patrón o use cuantificadores posesivos si son soportados.

¿Por qué mis grupos capturados devuelven valores inesperados?

La numeración de grupos comienza en 1 para el primer (...). El grupo 0 es la coincidencia completa. Los grupos no capturadores (?:...) no consumen números de grupo.

¿Por qué mi patrón funciona diferente en diferentes lenguajes?

Las variantes de regex difieren. JavaScript no soporta lookbehind en navegadores antiguos. Características como \b, \w pueden comportarse diferente con Unicode. Pruebe en su entorno objetivo.