在 list.files 中仅使用多个模式选择匹配的文件

Thi*_*dge 2 regex string r list

我有以下 csv 文件,我只想选择每个字符串中具有匹配 'pop' 和 'throughput' 值的文件:

example_pop_high_throughput_high_strategy.csv
example_pop_high_throughput_base_strategy.csv
example_pop_high_throughput_low_strategy.csv
example_pop_base_throughput_high_strategy.csv
example_pop_base_throughput_base_strategy.csv
example_pop_base_throughput_low_strategy.csv
example_pop_low_throughput_high_strategy.csv
example_pop_low_throughput_base_strategy.csv
example_pop_low_throughput_low_strategy.csv
Run Code Online (Sandbox Code Playgroud)

我只想要这些:

example_pop_high_throughput_high_strategy.csv                
example_pop_base_throughput_base_strategy.csv
example_pop_low_throughput_low_strategy.csv
Run Code Online (Sandbox Code Playgroud)

我可以使用 list.files 来选择所有文件,例如,'high':

file_names <- list.files("made/up/path", pattern = c("high"))
Run Code Online (Sandbox Code Playgroud)

虽然,尝试这样做两次以匹配“高”和“高”,但没有奏效:

file_names <- list.files("made/up/path", pattern = c("high", "high"))
Run Code Online (Sandbox Code Playgroud)

有没有办法选择具有匹配“pop”和“吞吐量”值的文件,最好是在单个表达式中?

mar*_*erg 5

以下应该工作:

file_names <- list.files("made/up/path", pattern = c("(low|base|high).+\\1"))
Run Code Online (Sandbox Code Playgroud)