Я хочу сопоставить специальный символ регулярного выражения, \^$.?*|+()[{
. Я пробовал:
x <- "a[b"
grepl("[", x)
## Error: invalid regular expression '[', reason 'Missing ']''
(Эквивалентно stringr::str_detect(x, "[")
или stringi::stri_detect_regex(x, "[")
.)
Удвоение значения для выхода из него не работает:
grepl("[[", x)
## Error: invalid regular expression '[[', reason 'Missing ']''
Также не используется обратная косая черта:
grepl("\[", x)
## Error: '\[' is an unrecognized escape in character string starting ""\["
Как совместить специальные символы?
Некоторые особые случаи этого в старых, достаточно хорошо написанных вопросах, чтобы быть наглыми, чтобы закрыть их как дубликаты:
Экранированные периоды в регулярных выражениях R
Как избежать вопросительного знака в R?
экранирующий канал ( "" ") в регулярном выражении