什么正则表达式可以用于此


What Regular Expression can be used for this?

我有一个类似:{filedir_12}somepic.png的字符串,我想通过preg_match()将其转换为:somepic.png,或者可能是类似的字符串。我该如何实现?

$str = '{filedir_12}somepic.png';
$str = preg_replace('/{['w_]+}(['w_]+)/','$1',$str);

basename()就是您所需要的。它从一个路径中剥离目录(以及可选的扩展):

php > echo basename('/my/directory/and/my/file.txt');
file.txt

您不需要正则表达式。只需使用str_replace():

$file = '{filedir_12}somepic.png';
$file = str_replace('{filedir_12}', '', $file);

编辑:如果您的意思不是字面上删除"{filedir_12}"字符串,实际上只是想从完整的文件路径中删除该目录,那么使用basename()。