MySQL stöder inte lookarounds och inte heller \d
eller \w
klasser. Du kan dela upp det regex så här:
SELECT * FROM table WHERE col REGEXP '^.{3,}$' AND col NOT REGEXP '^[0-9]+$' AND col NOT REGEXP '([^$&%@]*[$&%@]){4}' AND col NOT REGEXP '[[:<:]][[:alnum:]_]{11}'
Var:
REGEXP '^.{3,}$'
- den totala längden bör vara 3 eller fler teckenAND col NOT REGEXP '^[0-9]+$'
- sträng kan inte bestå av endast siffrorAND col NOT REGEXP '([^$&%@]*[$&%@]){4}'
- sträng kan inte ha fyra specialteckenAND col NOT REGEXP '[[:alnum:]_]{11}'
- sträng kan inte ha ett ord med 11 tecken