sql >> Databasteknik >  >> RDS >> Mysql

MySQL REGEXP och upprepade ord

Vanligtvis skulle man använda positiva framsyningspåståenden för denna uppgift, men MySQL:s regexmotor stöder dem inte.

Därför är ditt enda alternativ (om du vill göra detta i ett enda regex) att hantera båda varianterna (hello efter red eller hello före red ) "manuellt":

hello.*red|red.*hello

För två "sökord" är det förmodligen acceptabelt - det skalar dock inte bra.

Ditt regex ((hello|red).*){2}()* är lite konstigt; 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å det här matchar hello foo hello eller red bar red likaså.



  1. Hur beräknar man DATUM-skillnaden i PostgreSQL?

  2. Finns det något sätt att använda json-objekt i SQL

  3. Summa med SQL-server RollUP - men bara sista sammanfattningen?

  4. Migrera en MySQL-databas från CloudSQL till AWS RDS