sql >> Database teknologi >  >> RDS >> Mysql

konverter PCRE regulært udtryk til mysql forespørgsel regulært udtryk

MySQL understøtter ikke lookarounds, og det understøtter heller ikke \d eller \w klasser. Du kan opdele det regex sådan:

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

Hvor:

  • REGEXP '^.{3,}$' - den samlede længde skal være 3 eller flere tegn
  • AND col NOT REGEXP '^[0-9]+$' - streng kan ikke kun bestå af cifre
  • AND col NOT REGEXP '([^$&%@]*[$&%@]){4}' - streng kan ikke have 4 specielle tegn
  • AND col NOT REGEXP '[[:alnum:]_]{11}' - streng kan ikke have et ord med 11 tegn


  1. Overvejelser omkring kolonnerækkefølge i indekser og sorteringer

  2. MySQL Tutorial - En begyndervejledning til at lære MySQL

  3. Opret forbindelse fra PHP til en Oracle DB ved hjælp af en Oracle Wallet

  4. trunc og round funktion i sql