Texto 🔒 Se ejecuta en tu navegador — no se envían datos

Buscar y reemplazar con regex

Reescriba texto con una expresión regular y vea el resultado antes de aplicarla a archivos reales.

/ /
Texto de prueba
Coincidencias y grupos
Las coincidencias aparecen aquí...

Buscar y reemplazar con regex online

Buscar y reemplazar con una expresión regular es una de las formas más rápidas de limpiar texto, y una de las más fáciles de estropear en mil líneas a la vez. Esta página abre el Probador de Regex con un ejemplo que funciona: el patrón Palabra repetida de la Biblioteca de patrones, \b(\w+)\s+\1\b, y el reemplazo $1. La frase de ejemplo vuelve en Resultado del reemplazo sin ninguna palabra duplicada.

Cómo funciona el ejemplo

(\w+) captura una palabra, \s+ coincide con el espacio o el salto de línea que la sigue, y \1 pide otra vez la misma palabra. El \b de cada extremo impide que coincida dentro de palabras más largas, así que "the theory" queda intacto. Con la bandera i, "This this" cuenta como repetición, y $1 conserva la primera forma: "This this is a a typo" se convierte en "This is a typo".

Tokens de reemplazo

TokenInserta
$1, $2El texto de ese grupo numerado
$<name>El texto de un grupo con nombre, como (?<year>\d{4})
$&La coincidencia completa
$`Todo lo que hay antes de la coincidencia
$'Todo lo que hay después de la coincidencia
$$Un signo de dólar literal

Pruebe antes de reemplazar en bloque

La mayoría de los desastres al reemplazar vienen de un patrón que coincide con más de lo previsto. Pegue una muestra representativa, incluidas las líneas que no deben cambiar, y lea las coincidencias resaltadas antes de fiarse del resultado. Hay dos trampas habituales: un .* voraz llega hasta la última coincidencia posible de la línea, y sin la bandera g solo se reemplaza la primera coincidencia.

Palabras en otros alfabetos

En JavaScript, \w y \b solo conocen las letras de la A a la Z, los dígitos y el guion bajo, así que el ejemplo no detecta un "café" repetido ni una palabra persa repetida. Con las banderas giu, el patrón (?<![\p{L}\p{N}_])([\p{L}\p{N}_]+)\s+\1(?![\p{L}\p{N}_]) hace el mismo trabajo en cualquier alfabeto.

Páginas relacionadas

El probador de regex JavaScript explica las banderas y el motor que hay detrás de esta página, y la regex para URL es un buen patrón para reemplazar, por ejemplo para convertir enlaces sueltos en Markdown con [$&]($&). La herramienta completa, con los 15 patrones listos para usar, es el Probador de Regex.

Guías relacionadas