ForHosting KIT · Utilidades de desarrollo

Probador de regex

Compruebe un patrón tal como lo ejecutará su navegador: hello en hello world da una coincidencia en la posición 0, con sus grupos numerados y con nombre. Pase al modo de reemplazo para ensayar una sustitución antes de tocar datos reales. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Patrón
hello
Texto
hello world
Indicadores
Obtiene
Cantidad
1

¿Necesita un probador de regex ECMAScript fiable para patrones, capturas y reemplazos? Esta herramienta usa el mismo motor que su navegador: flags g, i, m, s, u e y, resultados de match con grupos numerados y nombrados, y plantillas de replace con $$, $&, $n y $<name>.

Modo match y grupos de captura

En modo match la respuesta lista cada hallazgo con el texto completo del match, el índice de inicio en unidades UTF-16 que usa JavaScript, los grupos de captura numerados en orden de apertura y los grupos nombrados cuando el patrón los declara. Sin la flag global obtiene como máximo un match, igual que RegExp.prototype.exec en una sola búsqueda. Con g el motor recorre matches no solapados y avanza lastIndex tras cada acierto.

Sticky y debe casar exactamente en el índice actual y no salta espacios ni otros caracteres; por eso gy sobre palabras separadas por blancos suele devolver solo el primer token. Los matches vacíos se avanzan de forma segura para que un patrón no gire sin fin sobre éxitos de longitud cero.

Plantillas de replace

El modo replace usa la tabla de sustitución de ECMAScript que implementa String.prototype.replace con una plantilla de cadena, no con una función callback. Si no hay match, el resultado es idéntico al texto sujeto, count vale cero y matched es false, lo que facilita afirmar la identidad en automatización. Prefiera el mismo patrón y flags que pegaría en un editor de código para que la vista previa del cliente y los trabajos del servidor no diverjan.

Cuando necesite saber cuántas sustituciones aplicarían, el campo count refleja el modo match para el mismo patrón, flags y texto antes de aplicar la cadena de reemplazo.

Flags, patrones inválidos y límites

Solo se aceptan las seis flags g, i, m, s, u e y, cada una como máximo una vez. Los límites de longitud protegen la pestaña del navegador y el worker: el patrón puede tener como máximo mil caracteres, el texto cien mil y una sola llamada puede producir como máximo diez mil matches. La flag unicode u hace que el punto y las clases operen sobre code points; sin u un emoji puede ocupar dos unidades UTF-16, el mismo comportamiento sutil que ya encuentran los desarrolladores en JavaScript.

Depurar patrones antes de publicar

Pegue logs o entradas de formulario y confirme grupos e índices antes de llevar el regex a producción.

Enseñar y documentar regex

Muestre match y replace con las mismas reglas ECMAScript que se usan en JavaScript.

Bordes sticky y global

Inspeccione cómo interactúan y y g con espacios y matches vacíos sin adivinar rarezas del navegador.

¿El probador de regex online es gratis?

Sí. La herramienta del navegador corre en local sin coste.

¿Qué flavor de regex usa?

RegExp ECMAScript, el mismo motor de navegadores modernos y Node. No es PCRE ni Python re.

¿Por qué solo obtengo una coincidencia?

Sin la bandera g la búsqueda se detiene en la primera coincidencia, igual que una búsqueda simple en JavaScript. Con g, el probador recorre todas las coincidencias del texto sin que se solapen.

¿Cómo reutilizo un grupo capturado en el reemplazo?

Use $& para la coincidencia completa, el signo de dólar seguido del número de grupo para un grupo numerado y $<name> para un grupo con nombre. Escriba $$ cuando necesite un signo de dólar literal.

¿Por qué la bandera y se detiene tras la primera palabra?

Con y, la coincidencia debe empezar justo donde terminó la anterior y no puede saltarse espacios ni otros caracteres. Por eso, con gy sobre palabras separadas por espacios, a menudo solo aparece la primera.

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/dev/regex-tester

¿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/dev/regex-tester \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pattern":"\\w+","text":"hello world"}'
{
  "pattern": "\\w+",
  "text": "hello world"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.regex_tester",
  "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.

max_pattern_chars1000
max_text_chars100000
max_matches10000
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.

Modo match y grupos de captura

Un grupo opcional que no participa se devuelve como null en JSON para que las ranuras del array sean estables en scripts y pruebas.

Plantillas de replace

El doble dólar se convierte en un signo de dólar literal, $& inserta el match completo, $1 a $99 insertan capturas numeradas cuando esos grupos existen y $<name> inserta una captura nombrada definida en el patrón.

Flags, patrones inválidos y límites

Cualquier otro carácter o un duplicado devuelve un error tipado invalid_input en lugar de dejar que el motor lance una excepción.

Vista previa de reemplazos

Pruebe plantillas en una muestra corta y luego llame a la API con el mismo contrato desde un flujo.

¿Qué flags admite?

g, i, m, s, u e y. Otras flags o duplicadas devuelven invalid_input.

¿Cómo se devuelven los grupos opcionales?

Como null en el array groups (y en named si aplica), nunca omitidos ni como undefined en JSON.

¿Qué pasa si el patrón es inválido?

Recibe invalid_input con un mensaje que empieza por Regex inválida, no un SyntaxError sin tipar.

¿Cuáles son los límites de tamaño?

Patrón ≤ 1000 caracteres, texto ≤ 100000 caracteres y como máximo 10000 matches por petición.

Ver la documentación completa del KIT →