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

Ali*_*air 5 regex

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

提前致谢

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

jen*_*ram 16

/([^\d]*\d){8}/
Run Code Online (Sandbox Code Playgroud)

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

编辑
正如@Tomalak指出的那样,按定义[^\d]等于\D:

/(\D*\d){8}/
Run Code Online (Sandbox Code Playgroud)

  • Alistar说8个或更多...`/([^\d]*\d){8,} /` (6认同)
  • @CAFxX是的,如果有超过八个那么还有八个:) (4认同)

小智 5

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

/(\D*\d){8,}\D*/
Run Code Online (Sandbox Code Playgroud)