sql >> Base de Datos >  >> RDS >> Mysql

convertir expresión regular PCRE a expresión regular de consulta mysql

MySQL no admite búsquedas, ni admite \d o \w clases Puede dividir la expresión regular así:

SELECT * FROM table WHERE col REGEXP '^.{3,}$' AND col NOT REGEXP '^[0-9]+$' AND col NOT REGEXP '([^$&%@]*[$&%@]){4}' AND col NOT REGEXP '[[:<:]][[:alnum:]_]{11}'

donde:

  • REGEXP '^.{3,}$' - la longitud total debe ser de 3 o más caracteres
  • AND col NOT REGEXP '^[0-9]+$' - la cadena no puede constar solo de dígitos
  • AND col NOT REGEXP '([^$&%@]*[$&%@]){4}' - la cadena no puede tener 4 caracteres especiales
  • AND col NOT REGEXP '[[:alnum:]_]{11}' - la cadena no puede tener una palabra con 11 caracteres