ForHosting KIT · Strumenti per sviluppatori

Validatore di parentesi bilanciate

Il validatore di parentesi bilanciate controlla parentesi tonde, quadre e graffe nel codice o nel testo con un’unica scansione deterministica.

● BetaGratis · nel tuo browser
Usalo da WebAPIEmailTelegramApp presto

Verifica che ogni apertura abbia la chiusura corretta e che l’ordine di annidamento sia rispettato. Se l’input non è valido, il risultato individua la prima discordanza rilevabile e indica la posizione a base zero, il carattere trovato e quello atteso. Può quindi usarlo per controlli manuali, integrazioni negli editor, procedure di build, esercizi didattici e pipeline di convalida leggere senza ricorrere a un parser specifico per un linguaggio.

Comprenda che cosa viene controllato

Il validatore considera le tre famiglie di delimitatori più comuni nel codice sorgente e nel testo strutturato: parentesi tonde, quadre e graffe. Perché un input sia valido, ogni carattere di apertura deve essere chiuso da un carattere della stessa famiglia e le chiusure devono seguire l’ordine inverso delle aperture. Per esempio, <code>({[]})</code> è bilanciato perché ogni coppia interna si chiude prima del proprio contenitore; <code>([)]</code> non lo è, poiché la parentesi tonda si chiude mentre quella quadra è ancora aperta. I caratteri diversi da questi sei simboli non cambiano il risultato. Lei può quindi incollare una funzione, un frammento di configurazione, un’espressione matematica, un brano di prosa o un esempio su più righe. Il controllo è lessicale e non dipende dal linguaggio: vengono contate anche le parentesi nelle stringhe tra virgolette o nei commenti. Questa regola prevedibile funziona con molti linguaggi, ma non sostituisce un parser JavaScript, Python, JSON o un compilatore quando le parentesi in stringhe e commenti devono essere ignorate.

Interpreti posizioni e diagnostica

Quando una parentesi di chiusura non corrisponde all’apertura più recente, la convalida si interrompe subito e segnala quel carattere come prima discordanza rilevata. La risposta contiene <code>balanced: false</code>, una <code>position</code> a base zero, il carattere <code>found</code> e quello <code>expected</code>. In un annidamento errato come <code>{[}</code>, la graffa chiusa viene segnalata alla posizione due, perché in quel punto era richiesta una parentesi quadra chiusa. La risposta include anche la posizione dell’apertura che ha determinato tale attesa. Se una chiusura compare senza alcuna apertura disponibile, il valore atteso spiega che occorreva un carattere di apertura. Un’apertura rimasta sola può essere riconosciuta soltanto al termine della scansione; in quel caso il risultato indica l’apertura non chiusa più recente e il carattere necessario. Viene usata l’indicizzazione delle stringhe JavaScript, quindi le posizioni sono offset di unità di codice UTF-16; nel normale codice ASCII coincidono con le posizioni mostrate dalla maggior parte degli editor.

Lo usi nelle automazioni e nelle revisioni

Per un controllo interattivo, incolli codice o testo nell’esecutore del browser e consulti la risposta strutturata. L’API usa lo stesso risolutore deterministico, quindi un’automazione riceve la medesima decisione e gli stessi campi diagnostici dell’esecuzione manuale. Un hook pre-commit può rifiutare frammenti generati quando <code>balanced</code> è false; una pipeline di documentazione può intercettare esempi malformati prima della pubblicazione; un’applicazione didattica può usare il carattere previsto e la posizione esatta per offrire indicazioni mirate. Ogni richiesta API costa $0.002; non è prevista una tariffa variabile per carattere. La convalida richiede tempo lineare perché ogni carattere viene visitato una volta, mentre uno stack conserva soltanto le aperture non ancora chiuse. Lo strumento non riscrive, ripara, formatta, esegue né valuta il contenuto inviato. Consideri la risposta un segnale preciso sulla struttura delle parentesi e la abbini a un parser o linter quando occorre verificare anche grammatica, stringhe, commenti o altri errori sintattici.

Controlli il codice generato prima di salvarlo

Rifiuti un frammento generato se l’annidamento è incompleto o una chiusura appartiene alla coppia sbagliata.

Fornisca indicazioni precise agli studenti

Mostri la posizione a base zero e il carattere atteso, invece di limitarsi a dire che l’espressione non è valida.

Convalidi gli esempi della documentazione

Esamini i campioni di codice nella pipeline editoriale e segnali strutture errate prima che raggiungano i lettori.

Quali caratteri vengono controllati?

Il validatore controlla parentesi tonde (), quadre [] e graffe {}. Tutti gli altri caratteri vengono ignorati.

Le posizioni partono da zero?

Sì. La posizione zero è la prima unità di codice UTF-16 della stringa, secondo l’indicizzazione JavaScript.

Le parentesi in stringhe o commenti vengono ignorate?

No. È un controllo lessicale indipendente dal linguaggio, quindi ogni parentesi viene contata ovunque compaia.

Che cosa accade se un’apertura non viene mai chiusa?

Dopo la scansione completa, il risultato indica l’apertura non chiusa più recente e il carattere necessario per chiuderla.

Quanto costa una richiesta API?

Ogni richiesta API costa $0.002. L’esecutore del browser svolge localmente lo stesso controllo deterministico.

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/balanced-brackets

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/balanced-brackets \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"function demo(items) { return items[0]; }"}'
{
  "text": "function demo(items) { return items[0]; }"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.balanced_brackets",
  "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.

Leggi la documentazione completa del KIT →