我需要在我的示例中选择原始图像是' image1.jpg'任何扩展名。
image1-150x150.jpg
image1-225x300.jpg
image1-768x1024.jpg
image1.jpg
我尝试过以下方法:
preg_grep("/-([0-9]+x[0-9])+/", $image);
如何排除其他文件并选择" image1.jpg"?
答案 0 :(得分:2)
我想在没有
PREG_GREP_INVERT
的情况下撰写,因为在某些情况下会使用preg_grep
然后您可以使用否定前瞻来否定包含模式\d+x\d+
的字符串:
/^((?:.(?!\d+x\d+))*\.[^.]+)$/gm
它会根据您提供的输入[{3}}捕获image1.jpg
。
^
- 锚点以匹配行的开头(因为使用了m
标志)。
.(?!\d+x\d+))*
- 匹配零个或多个字符后面没有\d+x\d+
\.[^.]+
- 匹配.
字符后跟一个或多个不是.
的字符
$
- 与该行的结尾匹配的锚点。