我想匹配一个 正则表达式特殊字符,\^$.?*|+()[{
。我试过:
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 中转义问号?
正则表达式中的转义管道(“ |”)