我现在有这个正则表达式,只是打印出1:^[0-9]{10,15}$^
。我想查看文件名中是否有任何时间戳(例如3843_1328414035.jpg)。我错了什么?
提前致谢。
答案 0 :(得分:1)
听起来你正在使用返回值,而不是&$matches
数组。
所有这些都取自manual:
preg_match()返回模式匹配的次数。这将是0次(不匹配)或1次,因为preg_match()将在第一次匹配后停止搜索。
获取匹配的文字:
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
如果提供了匹配,那么它将填充搜索结果。 $ matches [0]将包含与完整模式匹配的文本,$ matches [1]将具有与第一个捕获的带括号的子模式匹配的文本,依此类推。
答案 1 :(得分:0)
你可以拥有这个preg_match语句
$matches = array();
preg_match("/(\d{10})/","1234_1328414035.jpg",$matches);
print_r($matches);
或只是检查模式是否存在
if(preg_match("/(\d{10})/","1234_1328414035.jpg")) {echo "found";}