ForHosting KIT · Utilidades de desarrollo

Escape de metacaracteres regex

Pegue file.txt (v1.0+) y obtenga file\.txt \(v1\.0\+\): cada punto, paréntesis, signo más y demás operador lleva una barra invertida delante, así el patrón coincide con su texto carácter a carácter. La opción inversa recupera el texto. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Texto
file.txt (v1.0+)
Modo de cálculo
Escape
Obtiene
Resultado
file\.txt \(v1\.0\+\)
Longitud
21
Longitud de entrada
16
Cantidad escapada
5

Las expresiones regulares tratan puntos, asteriscos, corchetes y paréntesis como operadores, no como caracteres ordinarios. Si pega un nombre como report.v2.pdf en un patrón sin escapar, los puntos pasan a significar «cualquier carácter» y la coincidencia se amplía en silencio más allá del nombre deseado. Códigos de producto, partes locales de correo, globs de shell pegados en buscadores y filtros escritos por el usuario presentan el mismo riesgo. Esta capacidad recorre cada carácter, antepone una barra invertida a cada metacaracter al estilo JavaScript y PCRE, y devuelve un fragmento que puede insertar en un patrón mayor sabiendo que coincidirá carácter a carácter con la cadena original. La ruta inversa desescapa un patrón literal puro para recuperar el texto plano detrás de secuencias como \. y \(.

Qué caracteres hay que escapar y por qué

Un motor de expresiones regulares interpreta ciertos símbolos como sintaxis y no como datos. El conjunto clásico que debe escaparse para una coincidencia literal en constructores RegExp de JavaScript y en motores estilo PCRE incluye el punto, el asterisco, el más, el signo de interrogación, el acento circunflejo, el dólar, las llaves, los paréntesis, la barra vertical, los corchetes y la propia barra invertida.

Sin una barra invertida inicial, el punto coincide con cualquier carácter, el asterisco repite el átomo anterior, los paréntesis abren un grupo de captura y el circunflejo o el dólar anclan la coincidencia. Cuando solo desea que el SKU del producto, la ruta de un archivo o un mensaje de error aparezcan exactamente como se escribieron, cada uno de esos símbolos debe volver a ser dato.

Esta capacidad antepone una sola barra invertida en la ruta de escape: file.txt se convierte en file\.txt, y una etiqueta de versión como (v1.0+) pasa a \(v1\.0\+\). Letras, dígitos, espacios y la mayor parte de la puntuación fuera de ese conjunto pasan sin cambios.

Dónde aparece el escape literal de regex en el trabajo real

Las interfaces de búsqueda y filtro suelen envolver la entrada del usuario en un patrón dinámico para resaltar coincidencias parciales en una tabla; escapar antes evita que un solo paréntesis lance un error de sintaxis o abra un grupo no deseado. Las herramientas de triaje de logs convierten una línea de error copiada en un patrón de búsqueda que no debe tratar los puntos de nombres de host o números de versión como comodines.

Los revisores de seguridad convierten una cadena sospechosa en un fragmento literal antes de incrustarla en una expresión de lista de permitidos para que los metacaracteres no amplíen la coincidencia. Los pipelines de localización y contenido a veces guardan fragmentos ya escapados; desescapar recupera el token legible para mostrarlo sin reintroducir sintaxis activa. Los cursos de programación usan un escapador en vivo para mostrar por qué «cualquier carácter» y «el carácter punto» no son la misma idea en una lección de regex.

Si necesita ejecutar coincidencias y reemplazos, explicar un patrón en prosa, generar un patrón a partir de una descripción o codificar un URL en porcentaje, esas son intenciones de búsqueda y páginas distintas: esta solo cubre el escape y desescape literal de metacaracteres.

Filtros de usuario seguros en búsquedas

Escape lo que el usuario escribe antes de envolverlo en un regex dinámico para que puntos y paréntesis no se conviertan en operadores ni en errores de sintaxis.

¿Qué metacaracteres escapa esta herramienta?

El conjunto literal al estilo JavaScript / PCRE: . * + ? ^ $ { } ( ) | [ ] y la barra invertida. Cada uno se prefija con \ para que el fragmento coincida exactamente con los caracteres originales.

¿Qué ocurre con una entrada incorrecta?

Falta de text, mode desconocido, cadenas demasiado largas, una barra final, escapes no meta como \d y metacaracteres desnudos en la ruta unescape se rechazan. Los fallos de validación no se cobran.

¿Ejecuta o prueba una expresión regular?

No. Solo escapa y desescapa para coincidencia literal. Use un probador de regex dedicado si necesita resultados de match, replace o captura de grupos.

¿Cuánto cuesta?

La herramienta del navegador es gratuita y se ejecuta en local.

¿Puedo devolver un patrón escapado a texto normal?

Sí, con la opción inversa, siempre que el patrón sea literal: cada barra invertida debe ir seguida de un metacarácter o de otra barra. Secuencias como \d o \n, o una barra suelta al final, se rechazan en lugar de adivinarse.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/enc/regex-escape

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/enc/regex-escape \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"file.txt (v1.0)"}'
{
  "text": "file.txt (v1.0)"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.regex_escape",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

La herramienta gratuita del navegador y la API de pago comparten un núcleo determinista al precio publicado de $0.002 por elemento correcto.

Qué envía y qué recibe

Envíe un campo de cadena obligatorio llamado text y un campo opcional mode con valor escape o unescape. Escape recorre la entrada, cuenta cuántos metacaracteres se prefijaron y devuelve result como el fragmento de patrón seguro principal. Si omite mode, escape es el valor predeterminado y un solo payload sigue siendo útil. Se aceptan alias como encode y decode para equipos ya conectados a otras herramientas de codificación del catálogo. Unescape invierte solo patrones literales puros: una barra invertida debe ir seguida de un metacaracter o de otra barra; una barra final suelta, un escape como \d o \n que no pertenece al conjunto literal, o un metacaracter desnudo que nunca se escapó fallan con invalid_input y un mensaje en inglés que indica el índice. Las respuestas correctas repiten mode y el text original, incluyen length e input_length, informan escaped_count, listan en orden los metacaracteres únicos tocados y adjuntan una etiqueta breve del conjunto de reglas JavaScript y PCRE. Un text ausente, un mode no admitido y cadenas más largas que el máximo documentado también fallan sin consumir saldo prepago. El precio de las llamadas API correctas es la base publicada de $0.002 por elemento.

Dónde aparece el escape literal de regex en el trabajo real

Como esta capacidad es un motor parse puro, el precio de la API se mantiene en la base publicada de $0.002 por elemento correcto y la validación fallida no consume saldo.

Patrones golden estables en CI

Convierta nombres de archivo y cadenas de error en fragmentos seguros para literales que las pruebas pueden incrustar sin mantener barras a mano.

Recuperar texto plano desde fixtures

Desescape un patrón literal puro guardado en un archivo de configuración para mostrar el código de producto o la ruta original en herramientas de administración.

¿Puede convertir en ambos sentidos?

Sí. mode=escape (predeterminado; también acepta encode) convierte texto plano en un patrón seguro para literales; mode=unescape (también acepta decode) invierte un patrón literal puro a texto plano.

Ver la documentación completa del KIT →