R / regex con stringi / ICU: ¿por qué un '+' se considera un carácter que no es [: punct:]?

Estoy tratando de eliminar caracteres no alfabéticos de un vector de cadenas. Pensé que el[:punct:] la agrupación lo cubriría, pero parece ignorar el+. ¿Pertenece a otro grupo de personajes?

library(stringi)
string1 <- c(
"this is a test"
,"this, is also a test"
,"this is the final. test"
,"this is the final + test!"
)

string1 <- stri_replace_all_regex(string1, '[:punct:]', ' ')
string1 <- stri_replace_all_regex(string1, '\\+', ' ')

Respuestas a la pregunta(2)

Su respuesta a la pregunta