Как мне работать со специальными символами, такими как \ ^ $.? * | + () [{В моем регулярном выражении?
Я хочу соответствоватьспециальный символ регулярного выражения, \^$.?*|+()[{
, Я старался:
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?
экранирующая труба ("|") в регулярном выражении