Я хочу, чтобы регулярное выражение описывало целое число от -32768 до 32767 - PullRequest
1 голос
/ 05 ноября 2019

Я получил следующее регулярное выражение:

[-]?\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. Как мне это решить?

1 Ответ

0 голосов
/ 05 ноября 2019

Ваша проблема заключалась в том, что \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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...