ファイル名のパターンに一致させる正規表現
言語はPHPです。
あるディレクトリに拡張子が「zip」のファイルと「php」のファイルが混在しています。
ファイル名は以下のようなパターンだとします。
cat01.zip
dog01.zip
cat02.zip
dog02.zip
index.php
このディレクトリの中から、ファイル名が「cat」で始まりかつ拡張子が「zip」のファイルのみを抜き出す正規表現を考えてみたのですが、どうしてもうまくいきません。
現在のソースは以下です。これを実行するとファイルが全く取得されません。
$files = new RegexIterator($files, '/^cat.+\.zip$/i', RecursiveRegexIterator::MATCH);
以下のソースなら、拡張子が「zip」のファイルをすべて取得することができました。
$files = new RegexIterator($files, '/^.+\.zip$/i', RecursiveRegexIterator::MATCH);