GlobIterator正则表达式

时间:2018-10-02 17:00:02

标签: php regex laravel glob php-7.2

我有一个结尾带有通配符的字符串,但我不知道该字符串将要包含多少个字符。如何使用GlobIterator和RegexIterator匹配相似的文件名?第二个匹配项返回目录中的所有文件,但我不希望这样。我需要一个正确的正则表达式。我不想匹配扩展名之前的最后一组(例如文件大小为250M,500M等)

$iterator = new GlobIterator($this->srcDir . $identifier . ".*");

匹配

/var/www/import/2014047-0216/YukonGold.A2014047.1620.721.*

这将返回正确的文件。

/var/www/import/2014047-0216/YukonGold.A2014047.1620.721.250m.jpg
/var/www/import/2014047-0216/YukonGold.A2014047.1620.721.500m.jpg

匹配

/var/www/import/2014047-0216/YukonGold.A2014047.1620.*

返回文件:

/var/www/import/2014047-0216/YukonGold.A2014047.1620.250m.jpg
/var/www/import/2014047-0216/YukonGold.A2014047.1620.500m.jpg
/var/www/import/2014047-0216/YukonGold.A2014047.1620.721.250m.jpg
/var/www/import/2014047-0216/YukonGold.A2014047.1620.721.500m.jpg

预期输出

/var/www/import/2014047-0216/YukonGold.A2014047.1620.721。*

/var/www/import/2014047-0216/YukonGold.A2014047.1620.721.250m.jpg
/var/www/import/2014047-0216/YukonGold.A2014047.1620.721.500m.jpg

/var/www/import/2014047-0216/YukonGold.A2014047.1620。*

/var/www/import/2014047-0216/YukonGold.A2014047.1620.250m.jpg
/var/www/import/2014047-0216/YukonGold.A2014047.1620.500m.jpg

1 个答案:

答案 0 :(得分:2)

您应该在RegexIterator内使用它:

allprojects {
repositories {
    jcenter()
    maven { url "$rootDir/../node_modules/react-native/android" }
    maven { url "https://jitpack.io" }
    maven { url "https://maven.google.com" }
}