我需要一个匹配字符串的正则表达式,只要它包含2位或更多位数。
我有什么:
/(?=.*\d)(?=.*\d)/
和
/\d{2,}/
即使有一个数字,第一个将匹配,第二个要求有2个连续数字。我试图以不同的方式将它们组合起来无济于事。
答案 0 :(得分:5)
你可以做得更简单:
/\d\D*\d/
答案 1 :(得分:1)
您可以使用以下表达式:
.*\d.*\d.*
这将匹配任何有两位数字的地方。无论数字在哪里。 Example here.
你也可以这样做,使用范围:
.*[0-9].*[0-9].*
您也可以考虑使用它:
\D*\d\D*\d
\D
将匹配任何非数字字符的内容
答案 2 :(得分:0)
grep -E ".*[0-9].*[0-9].*" filename
答案 3 :(得分:0)
这取决于您的应用程序语言,但这个正则表达式是最常用的:
^(?=.*\d.*\d)
并非所有应用程序语言都将 partial 匹配视为“匹配”;无论输入中的两个数字位于何处,此正则表达式都将匹配。
答案 4 :(得分:-1)
试试这个。 [0-9]。{2}
这对你有帮助