嗨,我有一些日期格式字符串,我想找出那些没有使用正则表达式(在R中)以"2012“开头的字符串。我试过grep("^[^2012]",dataset)
,但没有用。我也尝试过grep("^[^2][^0][^1][^2]",dataset)
,但仍然没有成功。这个问题的模式是什么?你的帮助将不胜感激。
发布于 2013-08-07 18:50:33
您可以在!
前面使用grepl
x[ !grepl("^2012", x) ]
grep("^[^2012] , ...)
将拒绝任何以这些数字开头的值。(我不知道为什么第二个不起作用。)仅当您指定perl=TRUE时,Gustav的建议才有效:
x[ grep("^(?!2012)", x, perl=TRUE) ]
发布于 2013-08-07 18:54:59
不确定R的regex是否支持这一点,但通常可以这样做:
"^(?!2012)"
发布于 2013-08-07 19:20:10
grep
也有一个invert=TRUE
选项:
x <- c("2012out", "2include")
grep("^2012",x,invert=TRUE)
#[1] 2
grep("^2012",x,invert=TRUE,value=TRUE)
#[1] "2include"
https://stackoverflow.com/questions/18117124
复制相似问题