R中带有模式组合的正则表达式

时间:2016-02-23 11:47:06

标签: regex r

虽然我已经咨询了几个主题,但我无法让我的代码工作,也许有人可以帮我找到解决方案。

我想查找目录中的文件,该目录以

开头
start.contain <- "VP01_SPSG2015_Experimental"   ## beginning of the file name

结束
stop.contain <- ".vmrk"  ## the file extension

我必须提供什么模式

findfile <- list.files(path, pattern = ???)

找到我的档案?

1 个答案:

答案 0 :(得分:1)

您可以使用

start.contain <- "VP01_SPSG2015_Experimental"   ## beginning of the file name
stop.contain <- "[.]vmrk"  ## the file extension
findfile <- list.files(path, pattern = paste0("^", start.contain, ".*", stop.contain, "$"))

^表示匹配字符串的开头$表示匹配字符串.*将匹配任何零个或多个字符。

请注意,在正则表达式中,.必须在字符类([.])中进行转义或使用才能被视为文字。因此,您应该使用"[.]vmrk""\\.vmrk"