2

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

我有的:

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

/\d{2,}/

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

4

5 回答 5

5

你可以做的更简单:

/\d\D*\d/
于 2013-10-13T14:04:51.043 回答
1

您可以使用以下表达式:

.*\d.*\d.*

这将匹配任何地方有两个数字的任何东西。不管数字在哪里。这里的例子。

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

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

关联。

你也可以考虑使用这个:

\D*\d\D*\d

\D匹配任何非数字字符

于 2013-10-13T14:11:01.907 回答
0
grep -E ".*[0-9].*[0-9].*" filename
于 2013-10-13T14:06:25.147 回答
0

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

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

并非所有应用程序语言都将部分匹配视为“匹配”;无论两个数字在输入中的哪个位置,此正则表达式都将匹配。

于 2013-10-13T14:10:43.423 回答
-1

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

这对你有帮助

于 2013-10-13T14:15:18.160 回答