Как сделать исключение в регулярном выражение?
Если нет поддержки negative lookahead (?!...), то можно попробовать заменить -(\d{1,3})- на 
-(7([0-689]\d?|7[0-689]?)?|3([02-9]\d?|1[0-46-9]?)?|[0-24-68-9]\d{0,2})-
sandbox.onlinephpfunctions.com/code/34e74b3e154b70...
По 1000 включительно:
/^([A-Za-z]{3})-(?!315|777)(\d{1,3}|1000)-([А-ЯЁ]{1,3})$/
До 1000:
/^([A-Za-z]{3})-(?!315|777)(\d{1,3})-([А-ЯЁ]{1,3})$/
Для нескольких вхождений:
/^(([A-Za-z]{3})-(?!315|777)(\d{1,3})-([А-ЯЁ]{1,3})\s?)+$/
Буква Ё не входит в А-Я.