Wyrażenia regularne R: nieoczekiwane zachowanie „[: cyfra:]”

Chciałbym wyodrębnić elementy zaczynające się od cyfr z wektora znaków, ale jest coś w składni wyrażeń regularnych POSIX, której nie rozumiem.

Myślę, że tak

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

wróci1 2 4 ponieważ są to cztery elementy, które mają gdzieś cyfry. Ale tak naprawdę powraca3 4.

Równieżgrep(pattern="^0", x=vec) zwraca1 jak oczekiwałbym, ponieważ element 1 zaczyna się od zera. jednakgrep(pattern="^[:digit:]", x=vec) zwracainteger(0) mając na uwadze, że spodziewałbym się, że wróci1 2 ponieważ są to elementy zaczynające się cyframi.

Jak nie rozumiem składni?

questionAnswers(3)

yourAnswerToTheQuestion