对某些人来说,这可能是一个简单的问题:您实际上如何在R中使用正则表达式不匹配任何内容?假设您有一个像这样的字符串向量:
q <- c("a", "12", "0", "", "300")
并且进一步假设您想匹配空字符串""
,该如何处理?似乎可以使用""
合理地匹配grep
来匹配表示“任何字符”的元字符.
,无论是这样还是否定字符类的内容,以及要匹配的参数invert = T
比赛的对立面:
grep(".", q, value = T, invert = T)
[1] ""
grep("[^.]", q, value = T, invert = T)
[1] ""
无论哪种情况,比赛都有效。但是,可以肯定的是,使用invert
感觉很方便,而不是认真的正则表达式。还有另一种不匹配R的方法吗?
grep("^$", q)
或带有nchar
which(nchar(q) == 0)