R регулярные выражения: неожиданное поведение «[: digit:]»

Я хотел бы извлечь элементы, начинающиеся с цифр, из символьного вектора, но есть кое-что о синтаксисе регулярного выражения POSIX, которое я не понимаю.

Я думаю, что

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

вернется1 2 4 так как они являются четырьмя элементами, которые имеют цифры где-то в них. Но на самом деле это возвращается3 4.

такжеgrep(pattern="^0", x=vec) возвращается1 как и следовало ожидать, потому что элемент 1 начинается с нуля. тем не мениеgrep(pattern="^[:digit:]", x=vec) возвращаетсяinteger(0) в то время как я ожидал бы, что это вернется1 2 так как это элементы, которые начинаются с цифр.

Как я неправильно понимаю синтаксис?

Ответы на вопрос(3)

Ваш ответ на вопрос