Регулярное выражение - диапазон (2-16)? - PullRequest
17 голосов
/ 10 августа 2010

Все, что я хочу сделать, это сопоставить число от 2 до 16, охватывающее от 1 до 2 цифр

в соответствии с http://www.regular -expressions.info / numericranges.html , ониесть примеры для диапазонов из 1 или 2 цифр, но не то, что охватывает оба ... если это имеет смысл.

The regex [0-9] matches single-digit numbers 0 to 9. [1-9][0-9] matches double-digit numbers 10 to 99.

Что-то вроде "^ [2-9] [1-6] $" соответствует 21 илидаже 96 лол.Любая помощь будет оценена.

Ответы [ 4 ]

36 голосов
/ 10 августа 2010
^([2-9]|1[0-6])$

будет соответствовать либо одной цифре от 2 до 9 включительно, либо 1, а затем цифре от 0 до 6 включительно.

7 голосов
/ 10 августа 2010

С разделителями (по привычке): /^([2-9]|1[0-6])$/

Само регулярное выражение просто: ^([2-9]|1[0-6])$

1 голос
/ 10 августа 2010
^([2-9]|1[0-6])$

( Редактировать: Удалены кавычки для уточнения.)

0 голосов
/ 11 сентября 2017

(^ [2-9] $ | ^ 1 [0-6] $)

Если указать старт и остановку для каждого набора чисел, который вы ищете, ваше регулярное выражение также не вернет 36, 46, ... и т. Д. Я попробовал описанное выше решение и обнаружил, что это лучше всего подходит для того, чтобы оставаться в диапазоне 2-16.

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