MySQL正则表达式Count用户名(字符串)中有多少位数字


MySQL regular expression to Count How many number of digits are in the username (String)?

我需要一个MySQL正则表达式来计算用户的用户名中的位数。

我尝试下面的表达式,但它给我错误

SELECT * FROM `user` WHERE `name` REGEXP '^'D*(?:'d'D*){7,}$' 

Error i get is

#1139 -从regexp

获得' repeat -operator operand invalid'错误

您正在使用'd'D(?:)语法,但MySQL不支持这些扩展正则表达式元字符。

如果超过7个数字,则需要选择

所以我猜你可以假设用户名是有效的,即你不需要检查它是否以非数字开头。您可能会接受超过7位或至少7位的用户名。我也假设这些数字不需要在一起,只需要有7个数字。

下面是一个有效的regexp:

SELECT * FROM `user` WHERE `name` REGEXP '([[:digit:]].*){7}';