Como faço para lidar com caracteres especiais como \ ^ $.? * | + () [{Na minha regex?

Eu quero combinarcaractere especial de expressão regular, \^$.?*|+()[{. Eu tentei:

x <- "a[b"
grepl("[", x)
## Error: invalid regular expression '[', reason 'Missing ']''

(Equivalentementestringr::str_detect(x, "[") oustringi::stri_detect_regex(x, "[").)

Dobrar o valor para escapar não funciona:

grepl("[[", x)
## Error: invalid regular expression '[[', reason 'Missing ']''

Nem usar uma barra invertida:

grepl("\[", x)
## Error: '\[' is an unrecognized escape in character string starting ""\["

Como faço para combinar caracteres especiais?

Alguns casos especiais disso em perguntas antigas e bem escritas o suficiente para serem atrevidos fechar como duplicatas:
Períodos escapados em expressões regulares R
Como escapar de um ponto de interrogação no R?
tubo de escape ("|") em uma regex

questionAnswers(2)

yourAnswerToTheQuestion