a = list("a","b","cdef", "[")
grep("a",a)
#[1] 1
grep("[",a)
#Error during wrapup: invalid regular expression '[', reason 'Missing ']''
grep('\[',a)
#Error during wrapup: '\[' is an unrecognized escape in character string starting "'\["
grep("\[",a)
#Error during wrapup: '\[' is an unrecognized escape in character string starting ""\["
grep("\133",a)
#Error during wrapup: invalid regular expression '[', reason 'Missing ']''
Run Code Online (Sandbox Code Playgroud)
我想根据这里找到的信息执行“\133”:http://cran.r-project.org/doc/manuals/R-lang.html#Literal-constants不幸的是它不起作用。
默认情况下grep()使用正则表达式并且[是正则表达式中的特殊字符,您可以使用以下命令禁用正则表达式
grep("[", a, fixed=TRUE)
Run Code Online (Sandbox Code Playgroud)
[或通过做事来逃避
grep("\\[", a)
Run Code Online (Sandbox Code Playgroud)
请注意此处的双斜杠,因为正确的正则表达式语法是\[,但您还需要对 R 字符串中的斜杠进行转义,因为您需要文字斜杠而不是转义代码,因此它变为\\[
| 归档时间: |
|
| 查看次数: |
2019 次 |
| 最近记录: |