ForHosting KIT · Ferramentas para dev

Validador de colchetes balanceados

O validador de colchetes balanceados verifica parênteses, colchetes e chaves em código ou texto com uma única passagem determinística.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Ele confirma se cada abertura tem o fechamento correto e se a ordem de aninhamento foi respeitada. Quando a entrada é inválida, o resultado aponta a primeira divergência detectável e informa a posição iniciada em zero, o caractere encontrado e o esperado. Assim, você pode usá-lo em verificações manuais, integrações com editores, rotinas de build, exercícios didáticos e pipelines leves sem precisar de um analisador específico para cada linguagem.

Entenda o que o validador verifica

Este validador trata das três famílias de delimitadores mais comuns em código-fonte e texto estruturado: parênteses, colchetes e chaves. Para a entrada ser válida, cada abertura deve ser fechada por um caractere da mesma família, e os fechamentos precisam seguir a ordem inversa das aberturas. Por exemplo, <code>({[]})</code> está balanceado porque cada par interno se fecha antes de seu contêiner; <code>([)]</code> não está, pois o parêntese se fecha enquanto o colchete continua aberto. Caracteres diferentes desses seis sinais não alteram o resultado. Portanto, você pode colar uma função, um trecho de configuração, uma expressão matemática, um texto em prosa ou uma amostra com várias linhas. A verificação é lexical, não vinculada a uma linguagem: sinais dentro de strings entre aspas ou comentários também são contados. Essa regra previsível funciona em várias linguagens, mas não substitui um parser de JavaScript, Python, JSON ou um compilador quando sinais em strings e comentários devem ser ignorados.

Interprete posições e diagnósticos

Quando um fechamento não corresponde à abertura mais recente, a validação para imediatamente e apresenta esse caractere como a primeira divergência detectada. A resposta contém <code>balanced: false</code>, uma <code>position</code> iniciada em zero, o caractere <code>found</code> e aquilo que era <code>expected</code>. Em um aninhamento incorreto como <code>{[}</code>, a chave de fechamento aparece na posição dois, pois ali era necessário um colchete de fechamento. A resposta também fornece a posição da abertura que gerou essa expectativa. Se houver um fechamento sem nenhuma abertura disponível, o valor esperado explica que era preciso encontrar uma abertura. Uma abertura restante só pode ser reconhecida como incompleta após o fim da leitura; nesse caso, o resultado aponta a abertura não fechada mais recente e indica o caractere necessário. A indexação de strings do JavaScript é usada, então as posições são deslocamentos de unidades de código UTF-16; em código ASCII comum, elas correspondem aos deslocamentos de caracteres exibidos pela maioria dos editores.

Use em automações e revisões

Para uma conferência interativa, cole o código ou texto no executor do navegador e examine a resposta estruturada. A API utiliza o mesmo solucionador determinístico, portanto a automação recebe a mesma decisão e os mesmos campos de diagnóstico de uma execução manual. Um gancho de pré-commit pode rejeitar trechos gerados quando <code>balanced</code> for falso; um pipeline de documentação pode detectar exemplos malformados antes da publicação; e uma aplicação educacional pode usar o caractere esperado e a posição exata para orientar o aluno. Cada solicitação de API custa US$ 0,002; não há cobrança variável por caractere declarada. A validação tem tempo linear, pois cada caractere é visitado uma vez, enquanto uma pilha guarda somente as aberturas ainda não fechadas. O validador não reescreve, corrige, formata, executa nem avalia o conteúdo enviado. Use a resposta como um sinal preciso da estrutura dos delimitadores e combine-a com um parser ou linter quando também precisar validar gramática, strings, comentários ou outros erros de sintaxe.

Confira código gerado antes de salvar

Rejeite um trecho gerado quando o aninhamento estiver incompleto ou um fechamento pertencer ao par errado.

Dê orientações objetivas aos alunos

Mostre a posição iniciada em zero e o caractere esperado, em vez de apenas informar que a expressão é inválida.

Valide exemplos da documentação

Examine amostras de código no pipeline de publicação e sinalize estruturas defeituosas antes que cheguem aos leitores.

Quais caracteres são verificados?

O validador verifica parênteses (), colchetes [] e chaves {}. Todos os demais caracteres são ignorados.

As posições começam em zero?

Sim. A posição zero é a primeira unidade de código UTF-16 da string, conforme a indexação do JavaScript.

Sinais dentro de strings ou comentários são ignorados?

Não. Esta é uma verificação lexical independente de linguagem, portanto todos os sinais são contados onde aparecerem.

O que ocorre quando uma abertura nunca é fechada?

Depois de percorrer toda a entrada, o resultado identifica a abertura não fechada mais recente e o caractere necessário para fechá-la.

Quanto custa uma solicitação de API?

Cada solicitação de API custa US$ 0,002. O executor do navegador faz localmente a mesma verificação determinística.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/dev/balanced-brackets

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

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"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →