用于照片名称的正则表达式不起作用


Regular expression for photo name not working

我试图使用preg_match有每个照片的文件名是gallery'album'U[digits].jpg标题为"无题"。

代码如下:

foreach($photos as $photo){ 
  if (preg_match('.*U[0-9]*'.jpg',$photo)) {
    $title = "Untitled";
  }
  else {
    $title = basename($photo,".jpg");
  }
}

知道为什么不匹配吗?这些文件的标题最终都是"U2"或"U29"。

试试,

if (preg_match('@U[0-9]+.jpg@',$photo)) {

演示。