任何人都知道如何使用preg_match来获取最后一个数字:
图片/列表/listings_id_15_4.png或
图片/列表/listings_id_15_4.jpg
扩展名可能不同,我只需要找到"."之前的最后一位数字
从这两个字符串中,我只需要"4"
您可以使用
$
,这意味着[在字符串末尾]
您从获取扩展名的部分开始:
'.[a-zA-Z]$ // this will match '.png' and '.jpg'
// Or alternatively
'.'w{2,4}$ // this will match '.png' and '.jpg', 2 till 4 chars long
然后你想得到它前面的数字,所以从后面展开它:
([0-9]+)'.[a-zA-Z]+$ // this will also select the number in front of it
现在也选择其余的,不要把它放在一个组中(扩展也是如此):
.*?([0-9]+)'.[a-zA-Z]+$ // this will select the whole thing, but only the number you want is in a group
使用该正则表达式,您可以在代码中将该组与 ''1
或 $1
/'d(?='.'w+$)/
这匹配一个数字,后跟一个点和一个或多个单词字符(这就是我认为的扩展名)。
如果需要完整的数字而不是单个数字,请在'd
后添加一个+
。