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

MySQL REGEXP og gentagne ord

Normalt ville man bruge positive lookahead-påstande til denne opgave, men MySQL's regex-motor understøtter dem ikke.

Derfor er din eneste mulighed (hvis du vil gøre dette i et enkelt regex) at håndtere begge variationer (hello efter red eller hello før red ) "manuelt":

hello.*red|red.*hello

For to "søgeord" er det nok acceptabelt - det skalerer dog ikke pænt.

Dit regex ((hello|red).*){2}()* er lidt mærkeligt; det betyder

(            # Start of group:
 (hello|red) # Match either hello or red
 .*          # Match any number of characters
){2}         # Match this group twice
()*          # Match the empty string any number of times...

så dette matcher hello foo hello eller red bar red også.



  1. Vælg fra en tabel, hvor ikke i en anden

  2. Installer MySQL på en Mac

  3. PostgreSQL-konfigurationssnydeark

  4. Hvordan får man den numeriske del fra en streng ved hjælp af T-SQL?