Herramienta gratis · funciona en tu navegador
Probador de expresiones regulares (regex)
Prueba una expresión regular con tu texto y ve cada coincidencia, su posición y los grupos capturados, con un reemplazo opcional.
Usa el motor de expresiones regulares de JavaScript de tu navegador. Muestra hasta 100 coincidencias.
Respuesta rápida
Escribe una expresión regular, elige los flags y pega tu texto. El probador lista cada coincidencia con su posición y sus grupos capturados, y muestra el resultado de un reemplazo en el que $1 es el grupo 1. Usa el motor JavaScript de tu navegador, así que lo que funciona aquí funciona en JavaScript y TypeScript; la mayoría de patrones sencillos también sirven en Python, Java y PHP.
Cómo usarla
- Escribe el patrón. Sin las barras de alrededor, por ejemplo \d{3}-\d{4}.
- Elige flags y pega el texto. g busca todas las coincidencias, i ignora mayúsculas, m hace que ^ y $ coincidan en cada línea.
- Lee las coincidencias. Cada coincidencia muestra su posición y grupos; añade un reemplazo para ver el texto modificado.
Ejemplo
Buscar direcciones de email y capturar el nombre y el dominio:
Entrada
Pattern: (\w+)@(\w+)\.com Flags: g
Text: mail sara@example.com or ali@test.comSalida
2 coincidencias
1. sara@example.com @5 $1=sara $2=example
2. ali@test.com @25 $1=ali $2=testErrores comunes y cómo solucionarlos
Invalid regular expression: Unterminated group- Un ( no tiene su ). Cuenta los paréntesis o escapa uno literal como \(.
Invalid regular expression: Nothing to repeat- Un cuantificador como *, + o ? no tiene nada delante, como en *abc. Escríbelo como \* para buscar el carácter.
Solo se encuentra la primera coincidencia- El flag g está desactivado. Marca g para encontrarlas todas.
La página se congela- Los cuantificadores anidados como (a+)+$ provocan backtracking catastrófico en texto que casi coincide. Quita el anidamiento o haz el patrón más específico.
Preguntas frecuentes
¿Qué significan los flags g, i, m, s y u?
g busca todas las coincidencias y no solo la primera; i ignora mayúsculas; m hace que ^ y $ coincidan al principio y final de cada línea; s permite que . coincida con saltos de línea; u activa Unicode completo.
¿Por qué mi regex solo encuentra una coincidencia?
Sin el flag g, JavaScript se detiene en la primera. Marca g.
¿Cómo busco direcciones de email?
Un patrón práctico es [\w.+-]+@[\w-]+\.[\w.]+ . Validar al 100 % cualquier email con regex no es práctico; mejor envía un email de confirmación.
¿Cómo uso un grupo capturado en el reemplazo?
Pon parte del patrón entre paréntesis y usa $1, $2, etc. en el reemplazo. Los grupos con nombre (?<anio>\d{4}) se usan como $<anio>.
¿Cómo busco un punto o un paréntesis literal?
Escápalo con una barra invertida: \. busca un punto, \( un paréntesis. Sin la barra, . coincide con cualquier carácter.
¿Qué diferencia hay entre .* y .*?
.* es codicioso y coincide con todo lo posible; .*? es perezoso y coincide con lo mínimo. Usa la forma perezosa para parar en la primera etiqueta o comilla de cierre.
¿Cómo busco letras con tilde o la ñ?
\w solo incluye letras inglesas. Usa [a-záéíóúüñ] con el flag i, o \p{L} con el flag u para cualquier letra.
¿Sirve para regex de Python?
En gran parte. La sintaxis básica es la misma; cambian los grupos con nombre, que en Python antiguo se escriben (?P<nombre>), y algunos flags.
¿Por qué se congela la página con algunos patrones?
Los cuantificadores anidados como (a+)+ pueden tardar un tiempo exponencial en texto que casi coincide. Se llama backtracking catastrófico; simplifica el patrón.
¿Se sube mi texto?
No. La expresión regular se ejecuta en tu navegador.