Texto
Regex Tester / Find & Replace
Prueba de expresiones regulares con texto real: coincidencias resaltadas y grupos de captura analizados, o reemplazo de las coincidencias encontradas por un nuevo texto.
A regular expression (regex) is a compact language for describing patterns in text — for searching, validating a format, or replacing matches. This tool highlights matches in real text as you type the pattern, breaks out capture groups, and supports a find-and-replace mode.
How to use it
- Search: enter a pattern and some test text — every match is highlighted and capture groups are broken out separately.
- Replace: switch to Replace mode, provide a replacement template (referencing groups with $1, $2), and see the result instantly.
- Flags (g, i, m, s) toggle independently and immediately affect how many matches are found and how.
Common uses
- Building and debugging a regex before pasting it into code — you see the result without running the program.
- Bulk find-and-replace against a pattern (e.g. reformatting phone numbers or dates).
- Validating an input format (email, card number, slug) against real examples.
Things to keep in mind
Greedy quantifiers (*, +) grab as many characters as possible — add ? for the minimal match instead (e.g. .*? instead of .*).
Syntax varies slightly between languages — an expression that works here (a JavaScript engine) may need adjusting for PCRE, .NET, or Python.
Artículo sobre esta herramienta: Expresiones regulares: sintaxis básica y patrones habituales
Preguntas frecuentes
¿Qué motor de regex se usa?
La herramienta usa el motor de regex de JavaScript, no PCRE, así que cierta sintaxis específica de PCRE (como afirmaciones recursivas o ciertos modos de coincidencia posesiva) no funcionará aquí; se admiten indicadores comunes como g, i, m, s y u.
¿Cuál es la diferencia entre cuantificadores codiciosos y perezosos, y entre Probar y Reemplazar?
Un cuantificador codicioso como * o + captura la mayor cantidad de texto posible, mientras que su versión perezosa (*?, +?) se detiene lo antes posible; en cuanto a los modos, Probar resalta las coincidencias y lista los grupos de captura (incluidos los nombrados), y Reemplazar aplica texto de reemplazo, con referencias como $1, a cada coincidencia.
¿Se envían mi texto y expresión a un servidor?
No, la evaluación de la expresión regular ocurre enteramente del lado del cliente en tu navegador, nada se transmite en línea.
¿Qué es el backtracking catastrófico?
Cuantificadores anidados como (a+)+ pueden, con ciertas cadenas de entrada, obligar al motor a probar una cantidad exponencial de combinaciones — la página o el script se «cuelgan» con una expresión aparentemente simple. Es una vulnerabilidad real (ReDoS), así que los cuantificadores anidados complejos conviene probarlos con cadenas largas casi coincidentes.
¿Por qué mi expresión funciona en un lenguaje de programación pero no en otro?
La sintaxis de regex no está totalmente estandarizada: PCRE (PHP y muchos otros lenguajes), .NET, Python re y JavaScript tienen pequeñas diferencias en el soporte de ciertas construcciones (por ejemplo, look-behind o grupos con nombre) — una expresión escrita para un motor no siempre funciona sin cambios en otro.