Só por questão de curiosidade, em bash eu fiz assim:
testa(){ a=${1::1}; [ -z ${a/[0-9]/} ] && echo Possui digito ||echo Nao possui digito ; }