Ну и забыл прогнать $pattern через sprintf, нужно вот так:
$pattern = sprintf($pattern, $numbers[0], $numbers[1], $numbers[2], $numbers[3]);
Ну и обратные слэши не видно (
Ошибка в коде, нельзя use использовать )