从文件列表中返回文件名

时间:2016-01-20 22:08:31

标签: php regex

所以我有一个文件名列表,我希望将它们拉到一个数组中。

以下是我将尝试从中提取数据的列表示例:

JString

正则表达式是否能够通过此列表进行解析并将这些位拉出来:

------------- 
PENDING: (fs) gm_construct.bsp 
PENDING: (fs) gm_flatgrass.bsp
...

例如?

然后需要将每个条目推送到数组中。

此表达式是否也能够比这更长的时间运行列表,并且还可以处理不同的前缀,如:

gm_construct
gm_flatgrass

2 个答案:

答案 0 :(得分:0)

伪代码:

str.replaceAll("PENDING: (fs) ", "");
str.replaceAll(".bsp", "");
str.replaceAll("-", "");

str[] = str.split("\n");

str []将包含您的文件名列表。

这基本上取代了所有“PENDING”内容和“.bsp”内容并分割线条。

希望这有帮助!

P.S。,这根本不需要正则表达式! (越容易越好)

答案 1 :(得分:0)

最后,一位朋友想出了一个小正则表达式来做我想做的事。可能不像其他答案那么简单,但它是我个人将使用的那个,并且对我的用例工作正常。

preg_match_all("/(?<=fs\)).*?(?=\.bsp)/", $maps, $map_list);

这对我有用。将每个文件名拆分为一个数组,然后我可以迭代它。