Всё кажется весьма разумным, почему не работает неясно, почему такая ошибка ещё неясней. Проверился на всяк случай по pcretest - вроде как находит все матчи Импирическим путём на ум пришгел только один вывод - некоректно обрабатывается указание длины. Если писать
([0-9]+) вместо ([0-9]{4}) вроде как работает. Версия nginx/0.4.12
Если кто сталкивался буду премного благодарен за другие воркэраунды