R 正则表达式字符串匹配字模式

R 正则表达式字符串匹配字模式,r,regex,string,grepl,R,Regex,String,Grepl,我有抗生素的这种模式 atb <- c("acefa","ampicilin","fortum") 我试过了 DF1%>% mutate(atb = regmatches(Text, regexec(atb, Text))) 及 但它不起作用 然而,它是这样与grepl一起工作的 DF1%>% mutate(atb = grepl(atb, Text))) 我可以从模式中获取包含单词的列吗?设置正则表

我有抗生素的这种模式

atb <- c("acefa","ampicilin","fortum")
我试过了

DF1%>%
mutate(atb = regmatches(Text, regexec(atb, Text)))

但它不起作用

然而,它是这样与grepl一起工作的

DF1%>%
    mutate(atb =  grepl(atb, Text))) 

我可以从模式中获取包含单词的列吗?

设置正则表达式并使用
Straplyc

library(dplyr)
library(gsubfn)

result <- DF1 %>% 
  mutate(atb = strapplyc(Text, paste(atb, collapse = "|")))

str(result$atb)
DF1%>%
mutate(atb =  str_extract_all(Text, atb)))
DF1%>%
    mutate(atb =  grepl(atb, Text))) 
library(dplyr)
library(gsubfn)

result <- DF1 %>% 
  mutate(atb = strapplyc(Text, paste(atb, collapse = "|")))

str(result$atb)
List of 3
 $ : chr [1:2] "acefa" "ampicilin"
 $ : chr [1:2] "fortum" "acefa"
 $ : chr "ampicilin"