O código deve receber um texto de entrada (não obrigatório, pode ser qualquer arquivo, stdin, string para JavaScript, etc):
This is a text and a number: 31.
A saída deve conter as palavras com seu número de ocorrência, classificadas pelo número de ocorrências em ordem decrescente:
a:2
and:1
is:1
number:1
This:1
text:1
31:1
Observe que 31 é uma palavra; portanto, uma palavra é qualquer coisa alfanumérica; o número não está atuando como separador; portanto, por exemplo, é 0xAFqualificado como uma palavra. Separadores serão qualquer coisa que não seja alfanumérica, incluindo .(ponto) e -(hífen), portanto, i.e.ou pick-me-upresultariam em 2, respectivamente, 3 palavras. Deve ser sensível a maiúsculas e minúsculas Thise thisincluir duas palavras diferentes, 'também seria um separador wouldne tserão 2 palavras diferentes dewouldn't .
Escreva o código mais curto no seu idioma de escolha.
Resposta correta mais curta até agora:
wouldn't2 palavras ( wouldne t)?
Thise thisseria de fato duas palavras diferentes, iguais wouldne t.
i.e.é uma palavra, mas se deixarmos todos os pontos no ponto final de frases serão tomadas, mesmo com aspas ou plicas, etc.

Thiso mesmo quethisetHIs)?