正则表达式:包含至少8位小数

时间:2011-03-24 07:56:33

标签: regex

我需要正则表达式来检查字符串是否包含8个十进制数字或更多。它可以包含任何其他内容,数字不必是连续的。

提前致谢

编辑:将“数字”替换为“十进制数字”以匹配接受的答案。

5 个答案:

答案 0 :(得分:15)

/([^\d]*\d){8}/

也许不是最优雅/最有效的方式,但它确实有效。基本上它将匹配八位小数(可选地,它们之间具有非小数)。如果超过八个,它也会匹配。

修改
正如@Tomalak指出的那样,根据定义,[^\d]等于\D

/(\D*\d){8}/

答案 1 :(得分:4)

调整以允许最后一个字符为非数字:

/(\D*\d){8,}\D*/

答案 2 :(得分:2)

/(?:\d+\D+){7,}\d+/

这将匹配至少8个数字,而不是数字之间的其他数字。

答案 3 :(得分:0)

/(?:(.+)?\d+(.+)?){8}/

这样的东西?

答案 4 :(得分:0)

/\d{8,}/

将匹配原始海报所要求的8位或更多小数