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
- Traduce *, ?, ** (globstar), clases de caracteres y llaves {a,b} a sintaxis de regex
- El interruptor globstar controla si ** y * cruzan el separador de ruta /
- Las clases negadas [!abc] pasan a [^abc], y los rangos como [0-9] se conservan
- Escapa los metacaracteres de regex que son literales en los globs, así . + ( ) coinciden exactamente
- Anclaje opcional ^…$ para coincidencias de cadena completa y una bandera i sin distinción de mayúsculas
- El probador en vivo verifica una lista de rutas de ejemplo y colorea cada coincidencia en verde o rojo
- Una leyenda de tokens explica en qué se convirtió cada parte del glob en la regex
- Copia la regex como un literal /patrón/banderas con un clic
Cómo usar Glob a Regex
- Escribe o pega un patrón glob como **/*.ts en el cuadro del patrón.
- Activa o desactiva globstar, anclaje, expansión de llaves y distinción de mayúsculas.
- Lee el código fuente de la regex generada y sus banderas, y revisa la leyenda de tokens.
- Introduce rutas de ejemplo en el probador, una por línea, para ver cuáles coinciden.
- 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
- *.js coincide inesperadamente con una ruta anidada como src/app.js. — Mantén globstar activado para que un solo * se detenga en el separador /; usa **/*.js cuando quieras archivos anidados.
- Un patrón como file.txt coincide con filextxt o fileXtxt. — Eso ocurre con una regex en bruto; este conversor ya escapa el punto a \. para que solo coincida con un punto literal.
- La regex nunca coincide aunque la ruta parezca correcta. — El anclaje envuelve el patrón en ^…$, así que toda la cadena debe coincidir. Desactiva el anclaje para coincidencias de subcadena.
- {a,b} aparece literalmente en la salida en lugar de convertirse en una alternancia. — Activa la expansión de llaves; con ella desactivada, las llaves se tratan como caracteres literales.
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