R reguläre Ausdrücke: unerwartetes Verhalten von "[: digit:]"

Ich möchte Elemente, die mit Ziffern beginnen, aus einem Zeichenvektor extrahieren, aber die POSIX-Syntax für reguläre Ausdrücke ist etwas, das ich nicht verstehe.

Ich würde das denken

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

würden zurückkehren1 2 4 da sie die vier Elemente sind, die irgendwo Ziffern enthalten. Tatsächlich kehrt es aber zurück3 4.

Gleichfallsgrep(pattern="^0", x=vec) kehrt zurück1 wie ich es erwarten würde, da Element 1 mit einer Null beginnt. jedochgrep(pattern="^[:digit:]", x=vec) kehrt zurückinteger(0) wohingegen ich erwarten würde, dass es zurückkommt1 2 denn das sind die Elemente, die mit Ziffern beginnen.

Wie verstehe ich die Syntax falsch?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage