在我的项目中,我有多个.csv文件,其域名包括1www.abc.com.csv
,2www.abc.com.csv
或1m.xyz.com.au.cs
v,2m.blackburneinvest.com.au.csv
,3m.blackburneinvest.com.au.csv
我想在preg_grep的数组中搜索模式*.csv
(不包括数字)。
到目前为止我试过这个
<?php
echo "<pre>";
$files = glob("*.csv");//gets list of all the .csv file names in dir
foreach ($files as $key => $value)
{
$pattern = preg_split("/(\d+)/", $value);//Spilts Number from rest file name
$fl_array = preg_grep($pattern[1], $files);
}
print_r($fl_array);
?>
但是有了这个,我得到一个错误说
Warning: preg_grep(): Delimiter must not be alphanumeric or backslash
我如何编辑? 感谢
答案 0 :(得分:2)
使用此:
preg_grep(sprintf('/%s/', preg_quote($pattern[1])), $files);
答案 1 :(得分:0)
正在评估双引号内的字符串,"\d"
毕竟不是你期望的那样。
使用单引号:
preg_split('/(\d+)/' ...
或d
前面的反斜杠:
preg_split("/(\\d+)/" ...