Text/Clean

Buscar y reemplazar: patrones prácticos de expresiones regulares

Patrones de buscar y reemplazar con expresiones regulares de JavaScript: formatos de fecha, ocultar teléfonos, quitar paréntesis y espacios, y grupos con $1.

Buscar y reemplazar admite tanto el modo normal como el de expresión regular. El modo normal busca exactamente lo que escribes; el de expresión regular busca por patrón. Esta guía resume las reglas del modo de expresión regular y los patrones más usados.

Reglas de expresiones regulares en esta herramienta

  • La sintaxis es la de las expresiones regulares de JavaScript del navegador.
  • Se añaden automáticamente las marcas g (reemplazar todo), m (multilínea) y u (Unicode). Si activas «Ignorar mayúsculas y minúsculas», se añade i.
  • Por la marca m, ^ y $ no coinciden con el texto completo sino con el inicio y el final de cada línea.
  • Por la marca u, una barra invertida innecesaria provoca un error. Por ejemplo, no puedes escribir \:; hay que escribir :. Sí puedes usar propiedades Unicode como \p{L}.
  • En el reemplazo, $1, $2 son los grupos entre paréntesis, $& es la coincidencia completa y $$ es un carácter $. \n es un salto de línea y \t una tabulación.
  • Si el patrón tiene un error, el paso no modifica la entrada y muestra el error.
\s también coincide con los saltos de línea. Para buscar solo espacios sin pasar de una línea a otra, usa [ \t].

Patrones prácticos

El formato es «buscar → reemplazar». Cuando el reemplazo es «(vacío)», deja el campo en blanco.

1. Cambiar el formato de fecha

(\d{4})-(\d{2})-(\d{2})$1.$2.$3

2026-09-23  →  2026.09.23

Para cambiar el orden, mueve los números de grupo, como en $3/$2/$1.

2. Ocultar la parte central de un móvil

(01[016789])-?(\d{3,4})-?(\d{4})$1-****-$3

010-1234-5678  →  010-****-5678
01098765432    →  010-****-5432

Este patrón corresponde a los móviles de Corea del Sur (empiezan por 01X). Para números de otros países, adapta la parte numérica a su número de cifras.

3. Ocultar el principio de un correo

\b([A-Za-z0-9._%+-]{2})[A-Za-z0-9._%+-]*@$1***@

hong.gildong@example.com  →  ho***@example.com

4. Quitar paréntesis y su contenido

\s*\([^)]*\) → (vacío)

Madrid(sede) Sevilla (sucursal)  →  Madrid Sevilla

Las estructuras anidadas como ((a)) pueden no eliminarse de una sola vez.

5. Quitar espacios al final de línea

[ \t]+$ → (vacío)

6. Reducir tres o más líneas vacías a una

\n{3,}\n\n

7. Quitar las comas de miles

(\d),(?=\d{3}\b)$1

1,234,567 dólares  →  1234567 dólares

Si tus cifras usan punto como separador de miles (1.234.567), cambia la coma del patrón por \..

8. Quitar la consulta y el ancla de una URL

(https?:\/\/[^\s?#]+)[?#]\S*$1

https://example.com/page?utm_source=a#top  →  https://example.com/page

9. Quitar la hora al inicio de un registro de chat

^\[?\d{1,2}:\d{2}(?::\d{2})?\]?[ \t]* → (vacío)

[12:30] Hola a todos  →  Hola a todos

10. Invertir «Apellido, Nombre»

^([^,\n]+),[ \t]*(.+)$$2 $1

Kim, Minsu  →  Minsu Kim

11. Dejar una sola palabra repetida

\b(\w+)[ \t]+\1\b$1 (con «Ignorar mayúsculas y minúsculas» también detecta The the)

12. Separar hangul y letras latinas

(\p{Script=Hangul})([A-Za-z])$1 $2

한글abc  →  한글 abc

Inserta un espacio entre el coreano (hangul) y una letra latina que lo sigue sin espacio.

13. Poner los números entre corchetes

\d+(?:\.\d+)?[$&]

Errores frecuentes

  • Usar el punto (.) tal cual: en una expresión regular, . significa cualquier carácter. Para buscar un punto o el punto de un dominio, escribe \.. example.com también coincide con exampleXcom.
  • El .\* codicioso: <.*> captura de golpe desde el primer < hasta el último > de la línea. Aplicado a <b>x</b> <i>y</i>, desaparece también el texto. Para capturar las etiquetas una a una, usa <[^>]*> o <.*?>.
  • El $ en el reemplazo: en modo de expresión regular, para escribir un $ en el reemplazo, como en un precio, hay que poner $$. En modo normal, $ se inserta literalmente.
  • Buscar caracteres especiales como texto: para buscar ( ) [ ] + ? *, antepón una barra invertida. Si hay muchos símbolos, es más sencillo desactivar la expresión regular y buscar en modo normal.

Trabajar con varias líneas a la vez

Si pones \n en la búsqueda, puedes encontrar el propio salto de línea. Por ejemplo, ,\n, une las líneas que terminan en coma con la siguiente. Si el objetivo es eliminar líneas enteras, Filtrar líneas es más sencillo que una expresión regular. Para dividir las líneas por frases, el criterio «Final de frase» de Añadir saltos de línea (dividir) es más seguro.

El orden importa

Puedes poner varios pasos de buscar y reemplazar en una cadena y se aplican de arriba abajo. El resultado de un paso es la entrada del siguiente, así que a menudo hay que limpiar antes los espacios para que el patrón coincida. Si colocas Quitar espacios al inicio y al final y Reducir espacios y tabulaciones seguidos delante, los patrones pueden ser más simples.

Lista de comprobación

  • Para patrones por línea, usa ^ y $.
  • Para no pasar de una línea a otra, usa [ \t] en lugar de \s.
  • Revisa el resultado; si falla, desactiva el paso y corrige el patrón.

Última actualización: 2026-09-23