reg表达一个数字

时间:2010-01-06 09:09:56

标签: regex

我想要一个数字的正则表达式,这是一个连续的数字字符串,没有空格 - 请帮忙! 谢谢你

4 个答案:

答案 0 :(得分:5)

这是最简单的:

^\d+$

此正则表达式仅匹配一个或多个数字的序列。 ^$分别标记字符串的开头和结尾。

但是这也允许带有前导零的数字。如果您不想这样,请使用:

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

这匹配单个0或以1开头的数字。9后跟零个或多个任意数字。

答案 1 :(得分:2)

如果它仅适用于正则表达式:

<强> \ d     匹配任何十进制数字;这相当于班级[0-9]。

所以你可以写

\ d *或[0-9] * - 从空字符串到连续的数字字符串

\ d +或[0-9] + - 至少一位

如果您想知道如何在特定语言中使用它,请指定语言。

答案 2 :(得分:1)

\d+适用于大多数实现。

\d表示digit - 如果您的实施没有,请改用[0-9]+

+表示one or more of the preceeding pattern

编辑:这是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')
[]

答案 3 :(得分:-1)

d * 要么 [0-9] * 根据实施情况,我猜......