Regex 如何在R中的list.files中执行复杂正则表达式

Regex 如何在R中的list.files中执行复杂正则表达式,regex,r,Regex,R,我找不到任何关于如何使用list.files中的pattern=参数进行更复杂操作的示例 我想获取所有包含“XM”或“EM”且为.cvs类型的文件 谁能帮帮我吗 我在尝试类似的东西 list.files(path='.',pattern=“[XM|EM]&csv”) 但这绝对是错误的试试这个: list.files(path='.', pattern="(XM|EM).*\\.csv$") 谢谢,但那条线不行。对我有效的是这一行:list.files(path=”,pattern=“(XM |

我找不到任何关于如何使用
list.files
中的
pattern=
参数进行更复杂操作的示例

我想获取所有包含“XM”或“EM”且为.cvs类型的文件

谁能帮帮我吗

我在尝试类似的东西

list.files(path='.',pattern=“[XM|EM]&csv”)

但这绝对是错误的

试试这个:

list.files(path='.', pattern="(XM|EM).*\\.csv$")

谢谢,但那条线不行。对我有效的是这一行:
list.files(path=”,pattern=“(XM | EM.*\\.csv$”
仅用一个“`来转义点会有一些问题,如果Tom用双转义正确编辑了他的答案,你应该接受这一点作为答案。如果您想使用与perl兼容的正则表达式语法,可以使用dir()[grepl(“pattern”,dir(),perl=TRUE)],或者使用list.files而不是dir,但使用方式相同。我发现这更适合于
[]
方括号。