MySQL unterstützt weder Lookarounds noch unterstützt es \d
oder \w
Klassen. Sie können den Regex so aufteilen:
SELECT * FROM table WHERE col REGEXP '^.{3,}$' AND col NOT REGEXP '^[0-9]+$' AND col NOT REGEXP '([^$&%@]*[$&%@]){4}' AND col NOT REGEXP '[[:<:]][[:alnum:]_]{11}'
Wo:
REGEXP '^.{3,}$'
- Die Gesamtlänge sollte 3 oder mehr Zeichen betragenAND col NOT REGEXP '^[0-9]+$'
- Zeichenfolge darf nicht nur aus Ziffern bestehenAND col NOT REGEXP '([^$&%@]*[$&%@]){4}'
- Zeichenfolge darf nicht 4 Sonderzeichen enthaltenAND col NOT REGEXP '[[:alnum:]_]{11}'
- Zeichenfolge darf kein Wort mit 11 Zeichen enthalten