R expresiones regulares: comportamiento inesperado de “[: digit:]”

Me gustaría extraer elementos que comiencen con dígitos de un vector de caracteres, pero hay algo en la sintaxis de expresión regular de POSIX que no entiendo.

Pensaría que

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

volvería1 2 4&nbsp;ya que son los cuatro elementos que tienen dígitos en algún lugar de ellos. Pero en realidad vuelve.3 4.

Igualmentegrep(pattern="^0", x=vec)&nbsp;devoluciones1&nbsp;como es de esperar porque el elemento 1 comienza con un cero. sin embargogrep(pattern="^[:digit:]", x=vec)&nbsp;devolucionesinteger(0)&nbsp;mientras que yo esperaría que vuelva1 2&nbsp;Ya que esos son los elementos que comienzan con dígitos.

¿Cómo estoy entendiendo mal la sintaxis?