Regex 任意顺序两位数的正则表达式

Regex 任意顺序两位数的正则表达式,regex,Regex,我需要一个正则表达式,它将匹配一个字符串,只要它包括2个或更多的数字 我所拥有的: /(?=.*\d)(?=.*\d)/ 及 /\d{2,}/ 即使有一个数字,第一个也会匹配,第二个要求有两个连续的数字。我试图以不同的方式将它们结合起来,但没有效果。您可以做得更简单: /\d\D*\d/ 这取决于您的应用程序语言,但此正则表达式是最通用的: ^(?=.*\d.*\d) 不是所有的应用语言都认为部分匹配是“匹配”;无论输入中两位数字位于何处,此正则表达式都将匹配。您可以使用以下表达式: .*\

我需要一个正则表达式,它将匹配一个字符串,只要它包括2个或更多的数字

我所拥有的:

/(?=.*\d)(?=.*\d)/

/\d{2,}/


即使有一个数字,第一个也会匹配,第二个要求有两个连续的数字。我试图以不同的方式将它们结合起来,但没有效果。

您可以做得更简单:

/\d\D*\d/

这取决于您的应用程序语言,但此正则表达式是最通用的:

^(?=.*\d.*\d)

不是所有的应用语言都认为部分匹配是“匹配”;无论输入中两位数字位于何处,此正则表达式都将匹配。

您可以使用以下表达式:

.*\d.*\d.*
这将匹配任何包含两个数字的内容,无论在何处。不管数字在哪里

您也可以这样做,使用范围:

.*[0-9].*[0-9].*

<>你也可以考虑使用这个词:

\D*\d\D*\d
\D
将匹配任何非数字字符

试试这个。 [0-9]。{2}


这将有助于你

当你问正则表达式问题时,你能精确地说出你使用的语言吗?谢谢!我想我把这个问题复杂化了。不,看这篇文章。他指的不是两个连续的数字,而是任何地方的两个数字。更好的是
\D*\D*\D
,因为第一个
*
会导致很多回溯。此外,您不需要最后一个
*
@Jerry-甚至比消除第一个
\D*
更好;这并没有增加任何东西。@TedHopp我同意,但还有一些东西不能确定;这是OP使用的语言和函数。案例:python带有
.match
\d\d*\d
并不总是能工作,而
\d*\d*\d
无论使用什么函数都能工作。@Jerry-好吧,python还有
.search
,这对
\d\d*\d
来说很好。(Java也有类似的
.match
.find
)只需使用适当的API;调用错误的函数,结果当然会很糟糕。@TedHopp我知道。只是OP可能不知道这一点,并尝试使用
.match
(未提及),然后回来说它不起作用,只是进入了一个长期的交流(OP和回答者可能会彼此感到沮丧)。
\D*\d\D*\d