Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想列出一个目录中以“xyz”开头的所有文件,第一个下划线后面有一个 2。
例如,xyzfjd_2_34_1.png,xyz-39_2dog.jpg会起作用,而xyzdog_3_dog.png不会起作用。
xyzfjd_2_34_1.png
xyz-39_2dog.jpg
xyzdog_3_dog.png
我试过了
list.files(dir, pattern="^xyz*_2*");
这显然是错误的,主要是因为我什至不知道我在做什么......
没有下划线的文件名匹配吗?我假设没有。
我认为您正在*为任何角色进行解释。相反,.是任何字符。*是“0次或多次”。所以你的模式^xyz*_2*可以匹配xy_和xyzzzz_222。它不会匹配xyz1_2。
*
.
^xyz*_2*
xy_
xyzzzz_222
xyz1_2
尝试:
list.files(dir, pattern = "^xyz[^_]*_2")
^
xyz
[^_]*
_
_2
我不担心名称的其余部分,因为模式只需要匹配文件名的一部分。