我跑
dir.create('./junk_data')
file.create(paste('./junk_data/QWE',01:12,01:31,2005:2015,'.3',sep=''))
file.create(paste('./junk_data/RTY',01:12,01:31,2005:2015,'.3',sep=''))
Run Code Online (Sandbox Code Playgroud)
并要列出所有文件开始与QWE和结尾用2011.3.我试过了
list.files('./junk_data/',pattern='QWE....2011.3',full.names=T)
Run Code Online (Sandbox Code Playgroud)
和
list.files('./junk_data/',pattern='QWE....2011.3',full.names=T,perl=T)
Run Code Online (Sandbox Code Playgroud)
但我想'.'这并不代表我的想法,因为我没有得到任何我想要的文件.
我尝试了一些关于正则表达式的教程,但没有快乐.
Ric*_*ton 11
正如Arun在他的例子中所示,一个点通常意味着"匹配任何角色",所以要匹配一个你需要逃脱的点:\\..您可以使用最简单的方式创建模式glob2rx,该模式*用作通配符并匹配其他字符,就像它们已修复一样.
glob2rx("QWE*2011.3") #"^QWE.*2011\\.3$"
list.files("./junk_data/", pattern = glob2rx("QWE*2011.3"), full.names = TRUE)
Run Code Online (Sandbox Code Playgroud)