BTSPACE WAGLE

Texto y desarrollo

Probador de regex en vivo (gratis)

Escribe un patrón y ve coincidencias, grupos y reemplazos al instante

Escribe un patrón y las coincidencias se resaltan al momento, con botones de símbolos para escribir fácil en el móvil.

Usar la herramientaCómo funciona

//

Se basa en el motor de regex de JavaScript (ECMAScript). Nada de lo que escribes se envía a un servidor, y las coincidencias se muestran como texto sin formato, así que no se ejecuta ningún script.

Cómo usar el probador de regex

  1. Elige un ejemplo arriba y se rellena un patrón habitual, como un correo, un teléfono, una URL o una fecha, junto con un texto de muestra. Para escribir el tuyo, deja «Personalizado» y escribe el patrón en su cuadro.
  2. Marca los indicadores (g, i, m, s, u, y) para cambiar el comportamiento. g encuentra todas las coincidencias e i ignora mayúsculas y minúsculas. En el móvil, los botones de símbolos bajo el cuadro insertan directamente cosas como \d, [ ] y ( ).
  3. Escribe tu texto de prueba y las coincidencias se pintan alternando amarillo y verde, con las posiciones y los valores de los grupos de captura en la tabla de abajo.
  4. Escribe una cadena de reemplazo para ver el resultado con $1 o $. Un patrón con errores muestra el motivo en un aviso rojo.

Cómo funciona en vivo y con seguridad

Tras una breve pausa en cada pulsación, el patrón se ejecuta con el motor de regex de JavaScript de tu navegador. El texto coincidente no se inserta en la página como HTML: los nodos de texto y los elementos de resaltado se crean por separado, así que, aunque tu muestra contenga scripts o etiquetas, nunca se ejecutan y solo se muestran como texto.

Las expresiones regulares pueden volverse explosivamente lentas, por eso esta herramienta las ejecuta en un proceso en segundo plano (Web Worker). A los 1,5 segundos detiene el trabajo y muestra un aviso, para que toda la página no se congele. Reúne como máximo 1000 coincidencias y muestra solo las primeras 100 en la tabla, de modo que una cantidad enorme de resultados no ralentice la pantalla.

Referencia rápida de la sintaxis de regex

Las expresiones regulares se usan mucho para validar entradas (correos, teléfonos), buscar patrones en registros, reemplazar texto en bloque y limpiar datos. Con la opción de regex activada en la búsqueda y el reemplazo de un editor, puedes cambiar el formato de muchas líneas a la vez. Una regex difícil de leer es difícil de corregir después, así que deja una explicación a su lado.

Los símbolos de un solo carácter incluyen . (cualquier carácter menos un salto de línea), \d (dígito), \w (letra, dígito o guion bajo) y \s (espacio en blanco). [abc] significa uno de estos, [^abc] cualquier carácter menos estos, y [a-z] es un rango. Para las posiciones, ^ es el inicio de una línea o del texto, $ es el final y \b es el límite de una palabra.

La repetición se escribe * (cero o más), + (una o más), ? (cero o una) y {n,m} (de n a m veces). Por defecto es voraz y toma todo lo posible, y al añadir ? (*?, +?) pasa a ser perezosa y toma lo mínimo. Los paréntesis ( ) crean un grupo de captura, (?:...) un grupo sin captura y (?...) un grupo con nombre, y | significa «o». (?=...) y (?!...) son anticipaciones que comprueban lo que viene después.

Los indicadores son g (todas las coincidencias), i (ignorar mayúsculas), m (^ y $ se aplican por línea), s (. también coincide con saltos de línea), u (tratamiento Unicode) e y (pegajoso, coincide solo en la posición actual). Usa los ejemplos como punto de partida para comprobaciones como correos o teléfonos, pero los servicios reales tienen muchas excepciones, así que prueba siempre con entradas variadas.

Consejos para obtener buenos resultados

  • No empieces con algo complejo. Comienza con un patrón corto, mira las coincidencias y amplíalo poco a poco.
  • Un patrón como .* coincide con todo y puede capturar más de lo que quieres. Redúcelo con .*? o [^"]* cuando haga falta.
  • Para buscar literalmente caracteres especiales (. * + ? ( ) [ ] { } | ^ $ \), pon antes una barra invertida (\).
  • Evita patrones con repetición dentro de otra repetición, como (a+)+ o (.*)*. Se vuelven muy lentos con entradas más largas.
  • Si compruebas datos personales, no pongas información personal real en el texto de prueba; usa valores de ejemplo.

Preguntas frecuentes

¿Qué sintaxis de regex usa?

Usa tal cual el motor de regex de JavaScript (ECMAScript) de tu navegador. Parte de la sintaxis de otros motores, como Python, Java o PCRE (por ejemplo, los cuantificadores posesivos o algunos indicadores en línea), puede diferir. Es posible que los navegadores antiguos no admitan la mirada atrás.

¿Por qué veo «El proceso tardó demasiado y se detuvo»?

Los patrones que anidan la repetición de los mismos caracteres, como (a+)+, prueban todos los caminos posibles cuando encuentran un carácter que no coincide, así que el tiempo se dispara al crecer la entrada. Esto se llama retroceso catastrófico. La herramienta detiene el trabajo a los 1,5 segundos para que la página no se congele.

¿Qué pasa si desactivo el indicador g?

Sin g solo se encuentra la primera coincidencia, y el reemplazo se aplica solo a la primera coincidencia. Deja g activado para ver todas.

¿Qué puedo usar en la cadena de reemplazo?

Puedes usar $1 y $2 para los números de grupo de captura, $ para los grupos con nombre y $& para todo el texto coincidente. Por ejemplo, el patrón (\d{4})-(\d{2}) con el reemplazo $2/$1 convierte año-mes en mes/año.

¿Mi texto se envía a algún sitio?

No. Todo, incluido el proceso en segundo plano, se ejecuta dentro de este navegador y no se envía ni se guarda nada en un servidor.

Notas y limitaciones

Esta herramienta sirve para aprender y probar con el motor de regex de JavaScript, y los resultados pueden diferir de las expresiones regulares de otros lenguajes de programación. Los patrones y el texto que escribes nunca se envían a un servidor ni se guardan. Los ejemplos son solo orientativos y no validan todos los casos, así que pruébalos a fondo antes de usarlos en un servicio real. BTSPACE WAGLE es un sitio de información no oficial.