Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的正则表达式模式_Php_Regex_Preg Match - Fatal编程技术网

PHP中的正则表达式模式

PHP中的正则表达式模式,php,regex,preg-match,Php,Regex,Preg Match,请帮助找到以下案例的正确模式 简单字符串包括: pdf/20120102/A1_standard.pdf pdf/20130431/1.pdf pdf/20110506/abcde.pdf pdf/20131201/fff-01/02/12/-A1.pdf 我需要匹配的子字符串是A1_standard.pdf、1.pdf、abcde.pdf、fff-01/02/12/-A1.pdf 我尝试了//*.pdf/作为模式,但它似乎不起作用。案例4更难,因为文件名中有一个“/”,如果现在无法解决,就在

请帮助找到以下案例的正确模式

简单字符串包括:

pdf/20120102/A1_standard.pdf
pdf/20130431/1.pdf
pdf/20110506/abcde.pdf
pdf/20131201/fff-01/02/12/-A1.pdf
我需要匹配的子字符串是A1_standard.pdf、1.pdf、abcde.pdf、fff-01/02/12/-A1.pdf 我尝试了
//*.pdf/
作为模式,但它似乎不起作用。案例4更难,因为文件名中有一个“/”,如果现在无法解决,就在这个案例中。谢谢。

试试这个:

$str  = 'pdf/20120102/A1_standard.pdf';
preg_match('/(?P<file>[\w\-]+\.pdf)$/',$str,$match);

echo "<pre>";
print_r($match);

echo $match['file'];
$str='pdf/20102/A1_standard.pdf';
预匹配('/(?P[\w\-]+\.pdf)$/',$str,$match);
回声“;
打印(匹配);
echo$match['file'];

\w
-
字符匹配?@DreamEater:是的,不匹配,让我们找到解决方案,我会更新