引言

一、正则表达式基础

  • 元字符:正则表达式中的特殊字符,用于匹配特定的模式。
  • 量词:用于指定匹配的次数。
  • 分组:将多个字符组合在一起,作为一个整体进行匹配。

以下是一些常用的元字符和量词:

  • .:匹配除换行符以外的任意字符。
  • \d:匹配任意数字。
  • \w:匹配字母、数字或下划线。
  • \s:匹配空白字符。
  • *:匹配前面的子表达式零次或多次。
  • +:匹配前面的子表达式一次或多次。
  • ?:匹配前面的子表达式零次或一次。

二、图片路径匹配

1. 匹配基本图片格式

$pattern = '/\.(jpg|png|gif)$/i';
$filePath = 'example.png';

if (preg_match($pattern, $filePath)) {
    echo "这是一个有效的图片路径。";
} else {
    echo "这不是一个有效的图片路径。";
}

2. 匹配指定目录下的图片

$pattern = '/uploads/.*\.(jpg|png|gif)$/i';
$filePath = 'uploads/example.png';

if (preg_match($pattern, $filePath)) {
    echo "这是一个有效的图片路径。";
} else {
    echo "这不是一个有效的图片路径。";
}

3. 匹配URL中的图片

$pattern = '/http(s)?\://[^\s]+?\.(jpg|png|gif)/i';
$url = 'http://example.com/image.jpg';

if (preg_match($pattern, $url)) {
    echo "这是一个有效的图片URL。";
} else {
    echo "这不是一个有效的图片URL。";
}

4. 匹配图片大小

$pattern = '/\.(jpg|png|gif)(?:\?.*?size=\d{3,4})?$/i';
$filePath = 'example.jpg?size=200';

if (preg_match($pattern, $filePath)) {
    echo "这是一个有效的图片路径。";
} else {
    echo "这不是一个有效的图片路径。";
}

三、总结