R expressões regulares: comportamento inesperado de “[: digit:]”

Eu gostaria de extrair elementos começando com dígitos de um vetor de caracteres, mas há algo sobre a sintaxe de expressão regular POSIX que eu não entendo.

Eu acho que

vec <- c("012 foo", "305 bar", "other", "notIt 7")
grep(pattern="[:digit:]", x=vec)

retornaria1 2 4 desde que eles são os quatro elementos que têm dígitos em algum lugar neles. Mas na verdade ele retorna3 4.

Da mesma formagrep(pattern="^0", x=vec) devolve1 como eu esperaria, porque o elemento 1 começa com um zero. Contudogrep(pattern="^[:digit:]", x=vec) devolveinteger(0) enquanto eu esperaria que voltasse1 2 já que esses são os elementos que começam com dígitos.

Como eu estou entendendo errado a sintaxe?

questionAnswers(3)

yourAnswerToTheQuestion