我想要一个数字的正则表达式,这是一个连续的数字字符串,没有空格 - 请帮忙! 谢谢你
答案 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] * 根据实施情况,我猜......