我有这种类型的字符串:
aabbcc-12-00001-g001-1024.png
ddeeffgg-1-50001-i001-500.jpg
ddeeffgg-1-50001-i001.jpg
我想提取没有它的大小的文件名,它总是在文件扩展名之前-xxx或-xxxx之前.
例如,对于三个字符串,我想匹配:
aabbcc-12-00001-g001.png
ddeeffgg-1-50001-i001.jpg
ddeeffgg-1-50001-i001.jpg
我的想法是先行大小,然后使用preg_replace与PHP,但不知道如何只匹配大小,尝试:
-\d{3,4}\.[a-z]{3}
Run Code Online (Sandbox Code Playgroud)
但这匹配-550.png或-1024.jpg等.
您可以将preg_replace与替换一起使用:
$str = 'aabbcc-12-00001-g001-1024.png';
$result = preg_replace('/(-\d+)(.[A-Z]+)$/i', '$2', $str);
echo $result;
Run Code Online (Sandbox Code Playgroud)