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
так как это элементы, которые начинаются с цифр.
Как я неправильно понимаю синтаксис?