<?php
$a = "mp3/files/1/track.mp3";
preg_match("/^mp3\/files\/[0-9]+\/(.*)/", $a, $m);
print_r($m);
?>
вывод
Array
(
[0] => mp3/files/1/track.mp3
[1] => track.mp3
)
на что ты НЕ обратил внимание - число то может и не из одного символа состоять?
Проверить на мод_реврайте не могу, пробуй сам...
^mp3/files/[0-9]+/(.*) path2/$1
блин, пора за кофе, что то я сонный. Mr_Max надпомнил - хотим же не имя файла взять, а цифру...
<?php
$a = "mp3/files/123321/track.mp3";
preg_match("/^mp3\/files\/([0-9]+)/", $a, $m);
print_r($m);
?>
вывод
Array
(
[0] => mp3/files/123321
[1] => 123321
)
правило
^mp3/files/([0-9]+) path2/$1