我想匹配一个正则表达式特殊字符,\^$.?*|+()[{
.我试过了:
x <- "a[b"
grepl("[", x)
## Error: invalid regular expression '[', reason 'Missing ']''
Run Code Online (Sandbox Code Playgroud)
(等价stringr::str_detect(x, "[")
或stringi::stri_detect_regex(x, "[")
.)
将值加倍以逃避它不起作用:
grepl("[[", x)
## Error: invalid regular expression '[[', reason 'Missing ']''
Run Code Online (Sandbox Code Playgroud)
也没有使用反斜杠:
grepl("\[", x)
## Error: '\[' is an unrecognized escape in character string starting ""\["
Run Code Online (Sandbox Code Playgroud)
我如何匹配特殊字符?
这个问题的一些特殊情况是陈旧的,写得足够好,因为它可以像这样重复关闭:
在R正则表达式中逃脱的时期
如何逃避R中的问号?
在正则表达式中转义管道("|")