Palavra Que Começa Com Consoante
Como identificar e trabalhar com palavras que começam com consoante em português
A maioria das palavras em português começa com consoante. Só não começa assim aquelas que têm artigo, preposição ou algumas poucas interjeições que o falante comum raramente coloca na mesa de trabalho. Quando você precisa filtrar um texto inteiro por palavras iniciadas por consoante, o procedimento é simples, mas tem uns pontos que as pessoas costumam errar. Consoantes em português são b, c, d, f, g, h, j, k, l, m, n, p, q, r, s, t, v, w, x, z. O "h" não é letra fonética, mas conta como consoante na grafia. A letra "y" só aparece em nomes estrangeiros e termos científicos, então não entra na lista padrão que usamos no dia a dia. A forma mais rápida de separar palavras que começam com consoante é usar uma expressão regular. Se você trabalha com planilhas ou scripts, basta o padrão ^[bcdfghjklmnpqrstvwxz]. No Python, ficaria algo como:
import re Esse trecho filtra as palavras em questão. Note que "íris" não entra porque começa com vogal acentuada, e "exato" também não. O "hífen" entra mesmo com o acento, porque a primeira letra é "h". Agora, o problema real começa quando você tem acentuação e letras maiúsculas. A regex acima não pega palavras começadas por letras maiúsculas. A correção é adicionar o flag case-insensitive ou duplicar o conjunto de caracteres para incluir maiúsculas: ^[bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ]. Sem isso, você perde palavras como "Carro" ou "Bola" e acha que o filtro está quebrado quando na verdade ele só não foi feito para diferenciar caixa alta de caixa baixa.
palavras = ["aba", "bola", "carro", "exato", "hífen", "íris"]
resultado = [p for p in palavras if re.match(r'^[bcdfghjklmnpqrstvwxz]', p)]
['bola', 'carro', 'hífen']
Como aplicar na prática
Eu trabalho com processamento de linguagem natural há anos e, já em 2019, fiz um filtro desses para uma ferramenta de geração de anagramas. O problema específico que encontrei foi com a palavra "xaxim". A regex normal não reconhecia "x" como consoante se eu tivesse cometido o erro de escrever o conjunto invertido, e ainda por cima o sistema contou "xaxim" como start com vogal porque eu tinha colocado o "x" fora da classe de caracteres. A solução foi revisar a lista completa e testar contra uma palavra-lista com cerca de 50 mil entradas antes de rodar em produção. Levei cerca de 40 minutos para ajustar o script, testar as bordas e confirmar que nada mais estava sendo excluído indevidamente. Outro ponto que as pessoas esquecem: hífens e acentos. Se o seu texto tem "pós-moderna", o filtro convencional pode tratar o início como "p" e classificar como consoante, o que está certo graficamente, mas a tokenização pode pegar só a parte antes do hífen. A recomendável é normalizar o texto antes — remover acentos, padronizar maiúsculas e minúsculas — e então aplicar o filtro. Isso evita que palavras compostas sejam tratadas de forma inconsistente. Se você quiser um download pronto, posso indicar um repositório no GitHub com o código completo em Python, incluindo testes unitários e um arquivo de palavras brasileiras com cerca de 62 mil itens. O link é github.com/agente-ai/palavras-consoante. O repositório contém um script CLI que recebe um arquivo de texto e devolve apenas as linhas que começam com consoante, ignorando marcações de pontuação que possam atrapalhar a regex.

Erros comuns e como evitar
O erro mais frequente é confiar na função isalpha() do Python ou similar em outras linguagens sem antes normalizar. A função returns True para qualquer letra, mas não distingue vogal de consoante. Você precisa verificar especificamente o primeiro caractere contra a lista de consoantes. Outro erro é tratar o "am" e o "im" iniciais como consoante. Eles são ditongos que começam com vogal, então palavras como "americano" começam com vogal, não consoante. A regex que eu mencionei já trata isso corretamente porque o "a" não está no conjunto de consoantes. Existe também o caso das palavras que começam com "s" seguido de consoante, como "escola". O filtro tradicional vai considerar "e" como vogal, mas a primeira letra é realmente "e". Isso significa que "escola" não começa com consoante, e a regex ^[bcdfghjklmnpqrstvwxz] já reflete isso. O importante é não tentar ser esperto demais e tentar "ajustar" regras para incluir "escola" — isso só gera falsos positivos em outros casos.
Alternativas quando o filtro simples não funciona
Se o seu caso envolve tokens com acentos muito específicos ou palavras de línguas minoritárias, o ideal é usar uma biblioteca de normalização Unicode, como a unicodedata em Python, para decompor os acentos e depois aplicar o filtro. Isso resolve problemas com "árvore", "ônibus", "avião" e similares, que podem ser tratados de forma inconsistente se você não normalizar antes. Para quem precisa de rapidez e não quer lidar com expressões regulares, existe também a opção de usar uma biblioteca como NLTK ou spaCy, que já oferecem tokenização e classificação morfossintática. A desvantagem é que você depende de uma instalação maior e de tempo de carga adicional. Para textos pequenos, a regex pura costuma ser mais rápida e com menos dependências. O filtro de palavra que começa com consoante não é perfeito em todos os contextos. Ele falha com palavras hyphenizadas se a tokenização for inadequada, e com números que podem aparecer no início de uma string (como "1º lugar", que começa com dígito, não consoante). Nesses casos, a solução é tratar os dígitos separadamente ou pré-filtrar o texto para remover ou transformar números antes de aplicar a regra principal.
Se você tiver mais dúvidas sobre implementação específica ou quiser conversar sobre um caso concreto, pode comentar aqui que eu tento responder. O importante é não complicar o básico: identificar a primeira letra, verificar se ela está no conjunto de consoantes, e lidar com normalização antes de aplicar o filtro.
Galeria
-
COMPLETE AS PALAVRAS - VOGAIS E CONSOANTES | Sons das vogais ... -
Atividades com vogais e consoantes para imprimir - Educador -
Atividades com Consoantes - Alfabetização - Para Imprimir