我需要一个MySQL正则表达式来计算用户的用户名中的位数。
。
我尝试下面的表达式,但它给我错误
SELECT * FROM `user` WHERE `name` REGEXP '^'D*(?:'d'D*){7,}$'
Error i get is
#1139 -从regexp
您正在使用'd
和'D
和(?:)
语法,但MySQL不支持这些扩展正则表达式元字符。
如果超过7个数字,则需要选择
所以我猜你可以假设用户名是有效的,即你不需要检查它是否以非数字开头。您可能会接受超过7位或至少7位的用户名。我也假设这些数字不需要在一起,只需要有7个数字。
下面是一个有效的regexp:
SELECT * FROM `user` WHERE `name` REGEXP '([[:digit:]].*){7}';