Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 使用正则表达式从不同文件夹查找多个文件_Regex_R_File Upload - Fatal编程技术网

Regex 使用正则表达式从不同文件夹查找多个文件

Regex 使用正则表达式从不同文件夹查找多个文件,regex,r,file-upload,Regex,R,File Upload,我正在尝试从不同的文件夹加载R中的多个.txt文件。 我在使用正则表达式编写路径和模式时遇到问题 我的路径具有以下结构: '/Users/folderA/folderB/folderC/folderD/01_01_2012/folderE/file.txt' 因此,路径几乎相同,只是带有日期名称的文件夹总是更改。 我尝试过这样加载它: filesToProcess <- list.files(path = "/Users/folderA/folderB/folderC/folderD/"

我正在尝试从不同的文件夹加载R中的多个.txt文件。
我在使用正则表达式编写路径和模式时遇到问题

我的路径具有以下结构:

'/Users/folderA/folderB/folderC/folderD/01_01_2012/folderE/file.txt'
因此,路径几乎相同,只是带有日期名称的文件夹总是更改。
我尝试过这样加载它:

filesToProcess <- list.files(path = "/Users/folderA/folderB/folderC/folderD/", 
                             pattern = "*_*_*/folderE/*.txt")

filesToProcess这里的关键是使用参数
recursive=TRUE
,以便您可以在原始目录中的文件夹中进行搜索:

filesToProcess <- list.files(path = "/Users/folderA/folderB/folderC/folderD", 
                      pattern = "txt", recursive = TRUE, full.names = TRUE)
最后一点提示:
您的正则表达式仍然有缺陷:
*
表示

前一项将匹配零次或多次

您想要的是
:请参阅
?regexp

这个时期。匹配任何单个字符


尽管主题涉及正则表达式,但从示例中可以看出您确实想要使用globs。在这种情况下,请尝试:

Sys.glob("/Users/folderA/folderB/folderC/folderD/*_*_*/folderE/*.txt")
Sys.glob("/Users/folderA/folderB/folderC/folderD/*_*_*/folderE/*.txt")