Buscar y reemplazar con regex
Reescriba texto con una expresión regular y vea el resultado antes de aplicarla a archivos reales.
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
| Token | Inserta |
|---|---|
$1, $2 | El 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.