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

Common uses

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.

Artículos: Texto

Case Converter: por qué existen distintos estilos de nomenclatura

Por qué un mismo proyecto escribe variables en camelCase pero archivos en kebab-case, y de dónde vienen estas reglas.

Text Diff: cómo los algoritmos encuentran la diferencia entre dos textos

Cómo un algoritmo de diff encuentra el conjunto mínimo de cambios entre dos versiones de un texto.

Ordenar y eliminar líneas duplicadas: para qué sirve

Por qué ordenar numéricamente poniendo «10» antes de «9» es un error, y cómo evitarlo.

String Escape: por qué el mismo texto necesita escaparse de forma distinta

Por qué la misma comilla se escapa de forma distinta en una cadena JS, en JSON y en un comando de shell.

CRLF frente a LF: por qué los caracteres de fin de línea aún importan

Por qué un archivo escrito en Windows puede aparecer como «completamente modificado» en git sobre Linux.

Contar caracteres y palabras: por qué no siempre es trivial

Por qué un emoji o una letra con tilde pueden contar como varios caracteres a la vez.

Lorem Ipsum: de dónde viene el texto de relleno y para qué sirve

Por qué los diseñadores usan deliberadamente texto «sin sentido» en lugar de contenido real en las maquetas.

Slugify: cómo convertir cualquier texto en una URL

Cómo un título como «¡Hola, Mundo!» se convierte en una cadena compatible con URL como hola-mundo.

Markdown: por qué la sintaxis de texto plano venció a los editores de texto enriquecido

Por qué los desarrolladores prefieren escribir documentación en Markdown en vez de un editor de texto enriquecido.

Espacios y caracteres invisibles: la causa oculta de errores extraños

Por qué dos cadenas que parecen idénticas pueden no coincidir por culpa de un carácter invisible.

Text Reverse: por qué «invertir un texto» es más difícil de lo que parece

Por qué invertir una cadena de forma ingenua puede convertir un emoji en bytes inutilizables.

Análisis de frecuencia de texto: para qué sirve contar repeticiones de palabras

Cómo la frecuencia de las letras en un texto cifrado ayuda a romper los cifrados de sustitución más simples.