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

时间:2013-10-13 14:03:24

标签: regex

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

我有什么:

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

/\d{2,}/

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

5 个答案:

答案 0 :(得分:5)

你可以做得更简单:

/\d\D*\d/

答案 1 :(得分:1)

您可以使用以下表达式:

.*\d.*\d.*

这将匹配任何有两位数字的地方。无论数字在哪里。 Example here.

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

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

Link.

您也可以考虑使用它:

\D*\d\D*\d

\D将匹配任何非数字字符的内容

答案 2 :(得分:0)

grep -E ".*[0-9].*[0-9].*" filename

答案 3 :(得分:0)

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

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

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

答案 4 :(得分:-1)

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

这对你有帮助