Mysql
 sql >> база данни >  >> RDS >> Mysql

конвертирайте PCRE регулярен израз в регулярен израз на mysql заявка

MySQL не поддържа lookaround, нито поддържа \d или \w класове. Можете да разделите регулярния израз така:

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

Къде:

  • REGEXP '^.{3,}$' - общата дължина трябва да бъде 3 или повече знака
  • AND col NOT REGEXP '^[0-9]+$' - низът не може да се състои само от цифри
  • AND col NOT REGEXP '([^$&%@]*[$&%@]){4}' - низът не може да има 4 специални знака
  • AND col NOT REGEXP '[[:alnum:]_]{11}' - низът не може да има дума с 11 знака


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на 'OR' между клаузата HAVING и WHERE в MySQL?

  2. Пример за инжектиране на PHP/MySQL

  3. MySQL Connector/python не работи в django

  4. Създаване на таблици и проблеми с първичен ключ в Rails

  5. Изтриване на милиони редове в MySQL