使用Regex匹配除1之外的任何数字

时间:2014-09-24 03:11:48

标签: regex

我现在有一个匹配任何数字的正则表达式:

/(\d)/

现在我想将它修改为不拾取1,所以它应该捕获238,12,41,但不能捕获1.

有没有人看到这样做的方法?

由于

3 个答案:

答案 0 :(得分:3)

假设支持负前瞻,你可以这样做:

^(?!1$)\d+$

或者只是在上下文中使用交替运算符,在左侧放置要排除的内容,并在右侧的捕获组中放置您想要匹配的内容。

\b1\b|(\d+)

Live Demo

答案 1 :(得分:1)

使用此正则表达式

\b[02-9]\b|\d{2,}

答案 2 :(得分:0)

您可以使用/(?!1$)\d+/ 在PHP中试用这段代码:

   $a ="1";
   $b ="2";
   $reg = "/(?!1$)\d+/";
   echo preg_match($reg, $a);
   echo preg_match($reg, $b);