引言
一、正则表达式基础
- 元字符:正则表达式中的特殊字符,用于匹配特定的模式。
- 量词:用于指定匹配的次数。
- 分组:将多个字符组合在一起,作为一个整体进行匹配。
以下是一些常用的元字符和量词:
.:匹配除换行符以外的任意字符。\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 "这不是一个有效的图片路径。";
}