R / regex com stringi / ICU: por que um '+' é considerado um caractere não - [: punct:]?

Estou tentando remover caracteres não alfabéticos de um vetor de strings. Eu pensei que o[:punct:] agrupamento cobriria, mas parece ignorar o+. Isso pertence a outro grupo de personagens?

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, '\\+', ' ')

questionAnswers(2)

yourAnswerToTheQuestion