ForHosting KIT · Strumenti per sviluppatori

Convertitore pattern glob in regex

Incolli un pattern glob e ottenga l'espressione regolare corrispondente: *.js diventa ^.*\.js$, con il punto protetto perché corrisponda solo a un punto vero. Vengono tradotti anche parentesi quadre, punti interrogativi e barre rovesciate. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Schema
*.js
Ottiene
Espressione regolare
^.*\.js$
Corpo dell'espressione regolare
.*\.js
Numero di caratteri jolly
1

Le espressioni regolari usano una sintassi diversa e più densa, e gli sviluppatori hanno spesso bisogno di una traduzione fedele quando collegano un filtro di interfaccia, un harness di test o un file di configurazione che accetta solo regex. La modalità percorso opzionale impedisce ad asterisco e punto interrogativo di attraversare lo slash, così le regole per segmento corrispondono al comportamento di find e di molte shell.

Come i glob di shell si mappano alle espressioni regolari

Il jolly asterisco corrisponde a qualsiasi sequenza di caratteri (inclusa la sequenza vuota); in questo convertitore la mappatura predefinita è la costruzione regex punto-asterisco, mentre la modalità percorso mappa l'asterisco a una classe di caratteri che esclude lo slash seguita da un quantificatore asterisco, così un solo asterisco non può inghiottire i separatori di directory. Il punto interrogativo corrisponde a esattamente un carattere; la modalità predefinita usa un solo punto e la modalità percorso una classe di un carattere non slash.

Le espressioni tra parentesi quadre come a-z o abc diventano la corrispondente classe di caratteri regex. La negazione nella shell usa un punto esclamativo subito dopo la parentesi di apertura, che questo strumento riscrive come classe negata con accento circonflesso affinché i motori che conoscono solo la negazione con circonflesso funzionino ancora. Anche un circonflesso subito dopo la parentesi di apertura è accettato come negazione.

La barra rovesciata prima di un carattere forza quel carattere a essere trattato come letterale anche se è asterisco, punto interrogativo o parentesi di apertura. Ogni carattere ordinario speciale nelle espressioni regolari — punto, più, parentesi, graffe, barra verticale, circonflesso, dollaro e simili — viene escapato affinché un frammento di nome come report.v2 non significhi per errore report seguito da un carattere qualsiasi seguito da v2.

L'espansione delle graffe nella forma graffa a virgola b graffa è pre-elaborazione della shell, non matching glob, quindi le graffe restano letterali nella regex di uscita anziché diventare gruppi di alternanza.

Quando conviene convertire un glob in regex

I filtri di prodotto nel frontend partono spesso da glob amichevoli (asterisco per qualsiasi suffisso, punto interrogativo per un segnaposto) mentre l'indice di ricerca o il database accettano solo espressioni regolari; convertire al bordo mantiene semplice il linguaggio del prodotto e corretto il motore di query. Suite di test e script CI che accettano glob di inclusione ed esclusione possono compilare quei glob una volta in oggetti regex e riutilizzarli su migliaia di controlli di percorso senza reimplementare ad hoc le regole della shell.

I flussi di revisione di sicurezza e ricerca nel codice a volte devono mostrare cosa significa davvero un glob legacy in forma regex prima di approvare un cambio di regola. La validazione fallita non consuma saldo.

Filtri UI in glob, motori che richiedono regex

Accetti pattern orientati all'utente come *.png o report-????.csv e li compili in regex ancorate per il matching lato client o server.

Documentazione e didattica dei jolly

Mostri affiancato cosa diventa un glob di shell come espressione regolare così chi impara vede con chiarezza escape, classi e ancore.

Quali jolly sono supportati?

Asterisco (*) per qualsiasi sequenza, punto interrogativo (?) per un carattere, classi tra parentesi quadre ([abc], [a-z], [! x] o [^x] per la negazione) e escape con barra rovesciata del carattere successivo. L'espansione delle graffe non è trattata come jolly.

Perché il punto nel nome di un file viene protetto?

In un'espressione regolare un punto da solo significa qualsiasi carattere, quindi report.v2 corrisponderebbe anche a report seguito da un carattere qualunque e poi v2. Ogni carattere speciale viene protetto perché le parti letterali restino letterali.

Cosa cambia la modalità percorsi?

Con la modalità percorsi attiva, l'asterisco e il punto interrogativo si fermano alla barra, così un solo asterisco non ingoia i separatori delle cartelle, come accade con find e molte shell. Senza di essa, entrambi accettano qualsiasi carattere.

Le parentesi graffe come {a,b} vengono espanse?

No. Le graffe sono una pre-elaborazione della shell, non parte del pattern glob, quindi restano caratteri letterali nell'espressione regolare invece di diventare alternative.

Posso ottenere l'espressione senza gli ancoraggi di inizio e fine?

Sì. Per impostazione predefinita il risultato è racchiuso tra ^ e $ per coprire tutto il testo, ma può anche prendere solo il corpo, pronto da inserire in un pattern più ampio.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/dev/glob-to-regex

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/dev/glob-to-regex \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pattern":"*.js"}'
{
  "pattern": "*.js"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.glob_to_regex",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

I pattern glob della shell sono il linguaggio quotidiano dei filtri sui nomi di file: l'asterisco per qualsiasi sequenza di caratteri, il punto interrogativo per un solo carattere e le classi tra parentesi quadre per un insieme o un intervallo. Questo convertitore di pattern glob in regex accetta un pattern in stile shell, lo scorre una sola volta carattere per carattere, associa ogni jolly alla controparte regex, esegue l'escape di ogni letterale che altrimenti sarebbe speciale in un'espressione regolare e restituisce una stringa regex stabile più un corpo senza ancore quando Lei deve incorporare il frammento.

Come i glob di shell si mappano alle espressioni regolari

Un glob di shell è un linguaggio di pattern compatto pensato per abbinare nomi di file, non per l'analisi completa del testo.

Campi di input, forma della risposta e modalità di errore

Le classi di caratteri possono includere una parentesi di chiusura letterale come primo membro dopo l'apertura o il marcatore di negazione, secondo la pratica POSIX e di shell comune. Una barra rovesciata finale isolata è trattata come barra rovesciata letterale e non come escape incompleto. Invii un corpo JSON con il campo stringa obbligatorio pattern (alias glob, pattern_glob, wildcard) contenente il glob di shell che desidera tradurre. Il booleano opzionale path_mode (predefinito false) abilita asterisco e punto interrogativo consapevoli dello slash. Il booleano opzionale anchored (predefinito true) avvolge l'espressione finita con circonflesso e dollaro affinché la regex corrisponda all'intera stringa candidata; imposti anchored a false quando serve solo il corpo per la composizione in un pattern più ampio. In caso di successo la risposta ripete pattern, path_mode e anchored; restituisce regex (l'espressione completa da dare a un motore regex); restituisce regex_body (la stessa traduzione senza le ancore esterne); segnala wildcard_count per mostrare quanti token asterisco, punto interrogativo o classe sono stati trovati; e include una breve stringa formula che riassume la mappatura in vigore. Pattern vuoto, non stringa, pattern più lunghi di duemilaquarantotto caratteri, classi di caratteri non chiuse, classi vuote e intervalli invertiti come z-a falliscono con invalid_input e non vengono addebitati.

Dove un'API da glob a regex trova il suo posto

Poiché l'implementazione è parse puro di tier A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello e senza rete in uscita.

Regole di inclusione ed esclusione in CI

Traduca i glob di progetto in regex con path_mode affinché runner di test e linter applichino le stesse regole per segmento senza riparsare i glob su ogni file.

Come converto un pattern glob in un'espressione regolare?

Invii in POST un corpo JSON con pattern uguale al Suo glob di shell (ad esempio *.js). L'API restituisce regex (ancorata per impostazione predefinita) e regex_body. Imposti path_mode a true se * e ? non devono corrispondere allo slash.

Cosa cambia path_mode?

Quando path_mode è true, * diventa [^/]* e ? diventa [^/], così nessun jolly attraversa un separatore di directory. Quando è false (predefinito), possono corrispondere a qualsiasi carattere incluso lo slash.

Perché ho ricevuto invalid_input?

Cause comuni: pattern assente o vuoto, classe '[...]' non chiusa, classe vuota, intervallo invertito tra parentesi, pattern non stringa, o pattern più lungo di 2048 caratteri. Questi fallimenti non vengono addebitati.

Quanto costa il convertitore di pattern glob in regex?

Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l'input non valido non viene addebitato.

Leggi la documentazione completa del KIT →