最初に「xyz」があり、最初のアンダースコアの後に2があるディレクトリ内のすべてのファイルをリストしたいと思います。
たとえば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
。
試す:
list.files(dir, pattern = "^xyz[^_]*_2")
^
ファイル名の先頭xyz
[^_]*
そうでない任意の文字の組み合わせ_
(空の文字列を含む)_2
、アンダースコアの後に 2 が続きます。パターンはファイル名の一部と一致する必要があるだけなので、残りの名前については心配しません。