Не сопоставлять отрицательные целые числа - PullRequest
0 голосов
/ 02 марта 2019

regex101

Тест

Не могли бы вы помочь мне проверить мой ввод и сопоставить только положительные целые числа в диапазоне от 0 до 100?В строке может быть несколько чисел, которые я хотел бы получить.Попробуйте эти примеры строк:

Sam has 200 apples. He gives Todd 20 and Mary 125. and The weather is -5 C today, but will be +5 C tomorrow.

Я пытался \b(100|\d\d|\d)\b, но не смог избавиться от -5.Как мне решить вопрос?

Ответы [ 3 ]

0 голосов
/ 02 марта 2019

Вы можете использовать lookbehind

\b(?<!-)(?:\d{1,2}|100)\b

Демо

0 голосов
/ 02 марта 2019

Попробуйте это:

\b(?<![-])([0-9][0-9]?|100)\b

DEMO

0 голосов
/ 02 марта 2019

Вы можете оставить отрицательный взгляд за дефисом, используя (?<!-) перед регулярным выражением.Кроме того, я думаю, что вы можете сократить регулярное выражение.Попробуйте это регулярное выражение,

(?<!-)\b(?:100|\d?\d)\b

Демонстрация

Примечание. Это также самое короткое из возможных регулярных выражений, которое необходимо в вашей викторине.

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