我有这种类型的字符串:
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}
但这匹配-550.png或-1024.jpg等。
答案 0 :(得分:5)
您可以使用preg_replace替换:
$str = 'aabbcc-12-00001-g001-1024.png';
$result = preg_replace('/(-\d+)(.[A-Z]+)$/i', '$2', $str);
echo $result;