Dividimos o texto com uma regex que imita a pré-tokenização BPE (Byte-Pair Encoding) dos LLMs modernos: contrações, sequências de letras, dígitos, símbolos e espaços são segmentos independentes. Caracteres latinos ASCII são agregados e convertidos a ~4 chars por token (regra da OpenAI). Dígitos: ~3 por token. Letras acentuadas, cirílico, árabe e outros scripts não-latinos: ~1,5 chars por token. Ideogramas CJK e japonês/coreano: ~1 token por caracter. Espaços simples antes de palavras são absorvidos (como no BPE); só espaços múltiplos ou quebras de linha contam como token extra. O resultado é uma estimativa genérica representativa de qualquer modelo moderno, já que os seus tokenizadores diferem menos de ~10% em texto típico.