.NET Regex, только числовой, без пробелов - PullRequest
6 голосов
/ 26 октября 2009

Я ищу регулярное выражение, которое принимает только числовые значения без пробелов. Я сейчас использую:

^(0|[1-9][0-9]*)$

, который работает нормально, но принимает значения, которые состоят ТОЛЬКО из пробелов. Что с ним не так?

Ответы [ 2 ]

14 голосов
/ 26 октября 2009

Причина в том, что * примет 0 или больше. Чисто пустая строка имеет 0 номеров и, следовательно, соответствует требованиям. Вам нужно 1 или больше, поэтому используйте + вместо.

^(0|[1-9][0-9]+)$

EDIT

Вот Эндрюс более надежное и простое решение.

^\d+$
1 голос
/ 07 мая 2014

это регулярное выражение прекрасно работает

^\d*[0-9](|.\d*[0-9])?$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...