R 有没有一种方法可以过滤文本字符串以获得与模式不同的值?

R 有没有一种方法可以过滤文本字符串以获得与模式不同的值?,r,regex,string,dplyr,R,Regex,String,Dplyr,我想要的东西不像一根绳子。我看了一眼,注意到: 这适用于喜欢的人: library(datasets) library(dplyr) msleep %>% select(name, sleep_total) %>% filter(str_detect(tolower(name), pattern = "mouse")) 但这不适用于不喜欢: msleep %>% select(name, sleep_total) %>% filter(str_

我想要的东西不像一根绳子。我看了一眼,注意到:

这适用于喜欢的人:

library(datasets)
library(dplyr)

msleep %>% 
  select(name, sleep_total) %>% 
  filter(str_detect(tolower(name), pattern = "mouse"))
但这不适用于不喜欢:

msleep %>% 
  select(name, sleep_total) %>% 
  filter(str_detect(tolower(name), pattern != "mouse"))
我明白了:

Error in filter_impl(.data, quo) : 
  Evaluation error: object 'pattern' not found.

有办法做到这一点吗?

您可以使用负前瞻:

^(?!mouse).*$

如评论中所述,我得出了一个答案:

msleep %>% 
  select(name, sleep_total) %>% 
  filter(!str_detect(tolower(name), pattern = "mouse"))

!stru_detect
就是这样做的。

谢谢。图案部分有吗?