Herramientas de JavaScript y API web

Gratis Ayudante RegExp.escape()

Genere llamadas RegExp.escape() para escapar caracteres especiales en cadenas para patrones regex dinamicos seguros.

Cargando herramienta...

Qué es Ayudante RegExp.escape()?

RegExp.escape(cadena) es un método estático que devuelve una nueva cadena donde cada carácter especial de expresión regular se escapa con una barra invertida. Esto hace que la cadena sea segura para usar dentro de un constructor RegExp al construir patrones dinámicos a partir de entrada del usuario. El método es parte de Baseline 2025 (Chrome 132+) y reemplaza las funciones de escape manual propensas a errores que los desarrolladores han estado escribiendo y copiando durante décadas.

Respuesta rápida

Genere código usando RegExp.escape(cadena) para escapar de forma segura caracteres especiales de regex en entrada de usuario antes de construir patrones RegExp dinámicos. Soporta los 14 metacaracteres de regex. Disponible en Chrome 132+, Edge, Firefox, Node.js 20+. No más cadenas de escape regex manuales.

Last updated: 2026-06-02

Limitaciones

  • No disponible en entornos sin soporte Baseline 2025. Use un polyfill o la función tradicional de replace manual para versiones antiguas de Node.js y navegadores heredados.
  • RegExp.escape() solo maneja entradas de cadena. Para banderas RegExp u opciones de patrón, aún debe construir la cadena de patrón completa y el array de banderas usted mismo.
  • El método escapa cada carácter especial incondicionalmente. Si necesita construir un patrón que mezcle entrada de usuario literal con sintaxis regex intencional (como comodines), debe manejar la sintaxis intencional por separado.

Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub

Cómo usar esta herramienta

  1. Identifique dónde necesita construir un patrón RegExp a partir de entrada proporcionada por el usuario o variable, como cuadros de búsqueda o inputs de filtro.
  2. Pase la cadena de entrada a RegExp.escape() antes de insertarla en la cadena del patrón para el constructor RegExp.
  3. Use la cadena escapada en su patrón RegExp: new RegExp(RegExp.escape(entradaUsuario), 'gi').
  4. Revise el código generado incluido en la salida de la herramienta, que muestra tanto el método nativo como la función de escape manual para comparación.

Para qué puedes usarla

  • Construir un filtro de búsqueda del lado del cliente donde las pulsaciones de teclas del usuario se convierten en una regex para filtrado en vivo: el escape previene que patrones inválidos o inyectados rompan la regex.
  • Crear una interfaz de buscar y reemplazar donde el usuario escribe una cadena literal para buscar y un reemplazo. El escape asegura que caracteres como . o * se traten como literales.
  • Resaltar términos de búsqueda en contenido de texto construyendo un RegExp a partir de la entrada del usuario y envolviendo las coincidencias en un span: el escape garantiza que el patrón sea sintácticamente válido.

Casos de uso

Ejemplos prácticos

Ejemplo

Filtro de búsqueda en vivo

Un input de búsqueda en una página de listado de productos filtra elementos por nombre. El usuario escribe algo como .NET o (Premium). RegExp.escape() convierte cada consulta en un patrón seguro para que la búsqueda funcione correctamente incluso con caracteres especiales.

Ejemplo

Buscar y reemplazar en un editor de texto

Un editor de texto simple basado en navegador permite a los usuarios buscar y reemplazar texto. La cadena de búsqueda se escapa con RegExp.escape() antes de construir la regex de reemplazo, por lo que buscar $100 o (C) encuentra coincidencias literales en lugar de activar sintaxis regex.

Errores comunes

  • Olvidar escapar la entrada del usuario e incrustarla directamente en un patrón regex: esto causa errores de sintaxis cuando la entrada contiene caracteres especiales como (, ) o * y rompe toda la regex.
  • Usar RegExp.escape() en toda la cadena del patrón que ya contiene metacaracteres regex intencionalmente: el método escapa todo, por lo que los patrones preconstruidos con cuantificadores o grupos perderán su significado especial.
  • Asumir que RegExp.escape() también maneja entradas null o undefined: pase un valor de cadena o verifique el tipo de entrada antes de llamar para evitar TypeError.

Verificación

  1. Abra la consola DevTools de Chrome 132+. Llame a RegExp.escape('hello.world') y verifique que devuelva 'hello\.world'. Llame a RegExp.escape('test (1) [2]') y confirme que los paréntesis y corchetes estén escapados.
  2. Construya new RegExp(RegExp.escape('.*+?'), 'g') y pruébelo contra la cadena literal '.*+?' — verifique que coincida, confirmando que los caracteres especiales se tratan como literales.

FAQ

Preguntas sobre Ayudante RegExp.escape()

¿Qué caracteres escapa RegExp.escape()?

El método escapa los 14 caracteres especiales de regex: ^ $ \ . * + ? ( ) [ ] { } |. Cada uno va precedido de una barra invertida en la cadena devuelta. Por ejemplo, RegExp.escape('hello.world') devuelve 'hello\.world', y RegExp.escape('price $10') devuelve 'price \$10'.

¿Cómo se compara RegExp.escape() con la función de escape manual que los desarrolladores usaban antes?

El enfoque manual típicamente usaba string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'): una regex difícil de leer que los desarrolladores a menudo copiaban sin entender. RegExp.escape() es una API estándar con comportamiento consistente, sin regex-dentro-de-regex y sin errores de casos límite. Es más simple, más rápida y mantenida por el proveedor del navegador.

¿Está disponible RegExp.escape() en Node.js?

RegExp.escape() es una característica del lenguaje JavaScript, no una API web, y está disponible en Node.js 20+ como método central en el constructor RegExp. No se necesita polyfill ni paquete npm. Verifique su versión de Node.js para compatibilidad.

¿Puedo usar RegExp.escape() con Unicode o espacios especiales?

Sí. RegExp.escape() funciona en cualquier cadena JavaScript válida incluyendo caracteres Unicode y espacios inusuales. Solo escapa los 14 metacaracteres de regex y deja todos los demás caracteres, incluyendo escrituras no latinas, sin tocar.

Herramientas relacionadas

Más herramientas de javascript y api web

Prueba también

Prueba también