如何使用preg_grep查找网址

时间:2015-01-07 12:38:05

标签: php preg-grep

在我的项目中,我有多个.csv文件,其域名包括1www.abc.com.csv2www.abc.com.csv1m.xyz.com.au.cs v,2m.blackburneinvest.com.au.csv3m.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

我如何编辑? 感谢

2 个答案:

答案 0 :(得分:2)

使用此:

preg_grep(sprintf('/%s/', preg_quote($pattern[1])), $files);

答案 1 :(得分:0)

正在评估双引号内的字符串,"\d"毕竟不是你期望的那样。

使用单引号:

preg_split('/(\d+)/' ...

d前面的反斜杠:

preg_split("/(\\d+)/" ...