MySQL ne prend pas en charge les lookarounds, ni ne prend en charge \d ou \w Des classes. Vous pouvez diviser la regex comme ceci :
SELECT * FROM table WHERE col REGEXP '^.{3,}$' AND col NOT REGEXP '^[0-9]+$' AND col NOT REGEXP '([^$&%@]*[$&%@]){4}' AND col NOT REGEXP '[[:<:]][[:alnum:]_]{11}'
Où :
REGEXP '^.{3,}$'- la longueur totale doit être de 3 caractères ou plusAND col NOT REGEXP '^[0-9]+$'- la chaîne ne peut pas être composée uniquement de chiffresAND col NOT REGEXP '([^$&%@]*[$&%@]){4}'- la chaîne ne peut pas avoir 4 caractères spéciauxAND col NOT REGEXP '[[:alnum:]_]{11}'- la chaîne ne peut pas avoir un mot avec 11 caractères