Я получил следующее регулярное выражение:
[-]?\b(?:-[1-9]|-3276[0-8]|-?[1-9][0-9]{1,3}|-?[12][0-9]{4}|-?3[01][0-9]{3}|-?32[0-6][0-9]{2}|-?327[0-5][0-9]|[0-9]|3276[0-7])\b
Однако я захватил -0. Как мне это решить?
-0
Ваша проблема заключалась в том, что \b при запуске не совпадает со знаком минус. Если вы замените его пользовательской границей, он будет работать:
\b
(?:^|[^0-9-])(?:-[1-9]|-3276[0-8]|-?[1-9][0-9]{1,3}|-?[12][0-9]{4}|-?3[01][0-9]{3}|-?32[0-6][0-9]{2}|-?327[0-5][0-9]|[0-9]|3276[0-7])\b
См. Пример на regex101.com