R Wildcard在表达式中间

Pab*_*ell 1 regex r

我想使用R中的模式表达式来查找匹配的目录中的文件"ReportName*.HTML".这意味着我只想查找具有特定文件名和扩展名的文件,但之间存在动态字符.

这是一个例子:我想找到所有以"2016 Operations"开头但以扩展名".HTML"结尾的报告.目前我正在尝试:

files.control <- dir(path, pattern="^2016 Operations*.HTML$")
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?我喜欢一行代码; 它很简单.

G. *_*eck 5

"ReportName*.HTML"语法被称为圆顶封装,并通过其将返回当前目录的文件名的字符向量开始于以下中的R被支撑ReportName,并与结尾.HTML.

Sys.glob("ReportName*.HTML")
Run Code Online (Sandbox Code Playgroud)

R函数glob2rx会将globs转换为正则表达式,所以这样做会做同样的事情:

dir(pattern = glob2rx("ReportName*.HTML"))
Run Code Online (Sandbox Code Playgroud)

我们可以发现与glob相关的正则表达式,如下所示:

glob2rx("ReportName*.HTML")
## [1] "^ReportName.*\\.HTML$"
Run Code Online (Sandbox Code Playgroud)

您可以通过?regex本页底部附近的链接找到有关R内正则表达式的 更多信息以及更多信息:https://code.google.com/archive/p/gsubfn/