正则表达式:如何匹配所有数字而不是一个?

时间:2014-01-07 23:21:38

标签: regex

这应该很容易做到,但我一直在网上搜索并在http://gskinner.com/RegExr/上尝试不同的模式但没有成功!

我需要匹配所有数字和数字(从头开始),除了1或任何以前导0开头的东西,所以这些匹配

2
222
1234567

这些不会:

01
1
someword

非常感谢您的帮助! 谢谢。

5 个答案:

答案 0 :(得分:5)

(\b(([2-9]\d*)|(1\d+)))

Test case

答案 1 :(得分:3)

^((?:[2-9][0-9]*)|(?:1[0-9]+))$

会工作,吐出每个案例

实施例 http://regex101.com/r/wW9jQ7

答案 2 :(得分:0)

最简单的方法,没有否定和没有外观:

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

工作示例:http://regex101.com/r/xZ2zC5

答案 3 :(得分:0)

这是我能想到的最短时间:

^(?!1$)[^0]\d*$

答案 4 :(得分:0)

单个数字是特殊的,所以:

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