рег выражение для числа - PullRequest
       5

рег выражение для числа

1 голос
/ 06 января 2010

Мне нужно регулярное выражение для числа, представляющего собой непрерывную строку цифр без пробелов - Пожалуйста, помогите!Спасибо

Ответы [ 4 ]

5 голосов
/ 06 января 2010

Это самое простое:

^\d+$

Это регулярное выражение соответствует только последовательности из одной или нескольких цифр. ^ и $ отмечают начало и конец строки соответственно.

Но это также позволило бы числам с ведущими нулями. Если вы не хотите этого, используйте это:

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

Соответствует одному 0 или числу, начинающемуся с 1 .. 9, за которым следует ноль или более произвольных цифр.

2 голосов
/ 06 января 2010

Если это просто для регулярных выражений:

\ d Соответствует любой десятичной цифре; это эквивалентно классу [0-9].

Так что вы можете написать

\ d * или [0-9] * - от пустой строки до непрерывной строки цифр

\ d + или [0-9] + - хотя бы одна цифра

Если вы хотите знать, как использовать это на определенном языке, укажите язык pls.

1 голос
/ 06 января 2010

\d+ будет работать в большинстве реализаций.

\d указывает digit - если ваша реализация не имеет этого, используйте [0-9]+ вместо.

+ означает one or more of the preceeding pattern.

edit: Вот пример на python, иллюстрирующий разницу между + и *:

>>> import re
>>> r = re.compile('[0-9]*')
>>> print r.findall('asdf')
['', '', '', '', '']
>>> r = re.compile('[0-9]+')
>>> print r.findall('asdf')
[]
>>> print r.findall('abc12345ghi')
['12345']
>>> r = re.compile('^[0-9]+$')
>>> print r.findall('abc12345ghi')
[]
0 голосов
/ 06 января 2010

D * или же [0-9] * в зависимости от реализации, я думаю ...

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