2015-04-21 3 views
-1

Мне нужна помощь с регулярным выражением.Regexp для недопущения номера начинается с 0

Это будет разрешено использовать 0-9 и допустимая длина составляет 2 или 3, но не тогда, когда она начинается с 0.

Мой ехр:

^[0-9]{2,3}$ 

это позволяет отл. 03 или 033, но он должен быть запрещен.

+1

Какую программу будет потреблять ваше регулярное выражение? –

+0

также, на каком языке используется регулярное выражение? Это должно быть достаточно простым, чтобы диалект не имел большого значения, но важно также отметить, где он будет использоваться. – zzzzBov

+0

является «03» действительным результатом или нет? Ваше последнее предложение не ясно. – zzzzBov

ответ

3

просто разделите его на 2 части: 1-я цифра и другие цифры.

^[1-9][0-9]{1,2}$ 
+0

Он пропускает обработку «0» и одноразрядных номеров. –

+0

0 начинается с 0, поэтому в контексте этого вопроса 0 не является допустимым числом. – TEXHIK

2

Выбирай:

^[0-9]|[1-9][0-9]{1,2}$ 

^[0-9]|[1-9][0-9][0-9]?$ 

^0|[1-9][0-9]{0,2}$ 

^0|[1-9][0-9]?[0-9]?$ 

Я лично выбираю второй к последней или последним.

Вы можете заметить, что только случай «0» нуждается в определенном совпадении.

1

Вы можете использовать очень простое регулярное выражение, так:

^[1-9]\d{0,2}$ 

Working demo

Regular expression visualization

Смежные вопросы