正则表达式 - 在列表中转换一长串目录 - 基于文件扩展名分隔

时间:2013-10-23 19:54:25

标签: php regex

我有一个PHP脚本,它将返回一长串合并文件位置,如下所示:

/test/a/order_for_802ToyotaScion_8TVT13404_175603.zip/test/a/moo.rar/

我不知道这些文件是.rar还是.zip,所以我需要考虑两者。我可以使用什么正则表达式将长字符串转换为单个路径的数组?

我已经使用以下内容启动了它,但它只返回第一个:

((?<Directory>[^\/]+)\/(?<Name>[^/]+(?<Extension>\.rar|\.zip)))+

1 个答案:

答案 0 :(得分:1)

嗯,对于最简单的zip和rar:

preg_match_all('/.*?(\.zip|\.rar)/', $string, $m);
print_r($m[0]);