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?