Conversor de Glob a Regex

Convierte un patrón glob en una expresión regular de JavaScript en tu navegador y pruébala contra rutas reales. Tus patrones permanecen en tu dispositivo.

Tu patrón glob y las rutas de ejemplo que pruebas se convierten localmente en tu navegador y nunca se suben.

¿Necesitas depurar el resultado? Abre el Probador de Regex.

Acerca de Glob a Regex

Este conversor de glob a regex convierte un patrón de comodines de estilo shell en una expresión regular de JavaScript equivalente que puedes llevar directo a tu código. Escribe un glob como *.js, **/*.ts, src/** o file-{a,b}.txt y la herramienta construye el código fuente de la regex más sus banderas, escapando caracteres literales como puntos y paréntesis para que coincidan exactamente. Activa globstar para que ** cruce los separadores de ruta, la expansión de llaves para la alternancia de {a,b,c}, el anclaje de cadena completa con ^ y $, y una bandera sin distinción de mayúsculas. Un probador en vivo ejecuta tu regex contra una lista de rutas de ejemplo, marcando cada coincidencia en verde y cada fallo en rojo, y una leyenda explica cada token traducido. Todo se ejecuta en tu navegador, así que los patrones y las rutas que introduces permanecen en tu dispositivo.

Características

Cómo usar Glob a Regex

  1. Escribe o pega un patrón glob como **/*.ts en el cuadro del patrón.
  2. Activa o desactiva globstar, anclaje, expansión de llaves y distinción de mayúsculas.
  3. Lee el código fuente de la regex generada y sus banderas, y revisa la leyenda de tokens.
  4. Introduce rutas de ejemplo en el probador, una por línea, para ver cuáles coinciden.
  5. Haz clic en Copiar regex para obtener el literal /patrón/banderas para tu código.

Ejemplo

Entrada

src/**/*.{ts,tsx}

Salida

/^src/(?:.*/)?[^/]*\.(?:ts|tsx)$/

Globstar permite que src/**/ abarque carpetas anidadas mientras *.{ts,tsx} se queda en la hoja.

Errores comunes y solución de problemas

Preguntas frecuentes

¿Qué significa ** en un patrón glob?
** es el globstar. Con la opción globstar activada coincide a través de los separadores de ruta, así que src/**/*.ts alcanza archivos en cualquier carpeta anidada, mientras que un solo * se detiene en el siguiente /.
¿Cómo se convierten las clases de caracteres de glob a regex?
[abc] se traduce directo a una clase de caracteres de regex, los rangos como [0-9] se mantienen intactos y una clase glob negada escrita [!abc] se convierte en [^abc] para que coincida con cualquier carácter no listado.
¿Por qué el conversor escapa los puntos y otros caracteres?
Caracteres como . + ( ) | son literales en un glob pero especiales en una regex. La herramienta los escapa a \. \+ y así sucesivamente, para que la regex resultante coincida con esos caracteres exactamente en vez de tratarlos como operadores.
¿Admite la expansión de llaves como {a,b,c}?
Sí. Con la expansión de llaves activada, file-{a,b}.txt se convierte en una alternancia que coincide con file-a.txt o file-b.txt, e incluso puedes anidar globs dentro de las llaves, como {*.js,*.ts}.
¿Puedo coincidir con una subcadena en vez de con toda la ruta?
Desactiva el anclaje de cadena completa. Los patrones anclados se envuelven en ^…$ para que toda la cadena coincida; sin anclaje, la regex puede coincidir en cualquier parte de una cadena más larga.
¿Se envía mi patrón glob a un servidor?
No. Tanto la conversión de glob a regex como el probador en vivo se ejecutan por completo en tu navegador, así que los patrones y las rutas de ejemplo que escribes se procesan localmente y permanecen en tu dispositivo.

Herramientas relacionadas

Todas las herramientas de ArrayKit