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
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)
devoluciones1
como es de esperar porque el elemento 1 comienza con un cero. sin embargogrep(pattern="^[:digit:]", x=vec)
devolucionesinteger(0)
mientras que yo esperaría que vuelva1 2
Ya que esos son los elementos que comienzan con dígitos.
¿Cómo estoy entendiendo mal la sintaxis?