我检查了不同的帖子,但仍然无法弄清楚为什么这不起作用:
c=c("HI","NO","YESS")
grep("YES",c,fixed=T)
[1] 3
Run Code Online (Sandbox Code Playgroud)
如果我正在使用fixed = T,为什么当"YES"没有完全匹配时,我仍然会得到结果.我只想要grep -w在bash中使用时完全匹配.
这仅意味着您匹配的是字符串而不是正则表达式,但该字符串仍然可以是子字符串。如果您只想匹配确切的情况,怎么样
> x=c("HI","NO","YESS") #better not to name variables after common functions
> grep("^YES$",x,fixed=F)
integer(0)
Run Code Online (Sandbox Code Playgroud)
根据@nicola进行编辑^:这有效 b/c表示$字符串的开头和结尾,因此^xxxx$强制整个字符串匹配xxxx。