MySQL nepodporuje lookarounds ani nepodporuje \d
nebo \w
třídy. Regulární výraz můžete rozdělit takto:
SELECT * FROM table WHERE col REGEXP '^.{3,}$' AND col NOT REGEXP '^[0-9]+$' AND col NOT REGEXP '([^$&%@]*[$&%@]){4}' AND col NOT REGEXP '[[:<:]][[:alnum:]_]{11}'
Kde:
REGEXP '^.{3,}$'
- celková délka by měla být 3 nebo více znakůAND col NOT REGEXP '^[0-9]+$'
- řetězec nemůže obsahovat pouze čísliceAND col NOT REGEXP '([^$&%@]*[$&%@]){4}'
- řetězec nemůže mít 4 speciální znakyAND col NOT REGEXP '[[:alnum:]_]{11}'
- řetězec nemůže obsahovat slovo s 11 znaky