与R中的Regex匹配期

时间:2015-09-15 17:22:56

标签: regex r stringr magrittr

R中的一个简单的正则表达式操作,但即使看起来相关的other questions on SO也没有帮助我

我有一个csv文件名列表 -

library(plyr)
library(stringr)
library(magrittr)


set.seed("43212")

foo <- c(raply(3, 
          sample(letters, 3, T) %>% 
            paste0(collapse = "")),
         raply(3, 
          sample(0:9, 3, T) %>% 
            paste0(collapse = ""))) %>% 
         str_c(".csv") 

foo
[1] "hoo.csv" "wwc.csv" "lll.csv" "406.csv" "120.csv" "362.csv"

我想提取名称以某个数字结尾的.csv个文件,并排除以字符结尾的文件名。

我以为我理解正则表达式并且在R中逃脱了角色 - 但是这个:

foo %>% 
  extract(str_sub(., -5) == "\\d\\.csv")

失败 - 我错过了什么?

1 个答案:

答案 0 :(得分:3)

您可以使用grep。

grep("\\d\\.csv$", x, value=T)

grep("[[:digit:]]\\.csv$", x, value=T)