sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan opdeles et navn i efternavn plus initialer

regex brugt i PostgreSQL er faktisk implementeret ved hjælp af en softwarepakke skrevet af Henry Spencer. Det er ikke mærkeligt, det har sine egne fordele, særheder.

En af forskellene fra de sædvanlige NFA regex-motorer er ordet grænse. Her \Y matcher en ikke-ord grænse. Resten af ​​de mønstre, du har brug for, er ret kendte.

Så du skal bruge '^(\w+)|\Y\w' mønster og en '\1' udskiftning.

Detaljer :

  • ^ - start af strenganker
  • (\w+) - Optagelsesgruppe 1 matchende 1+ ord tegn (dette vil blive refereret til med \1). fra udskiftningsmønsteret)
  • | - eller
  • \Y\w - et ord tegn, der er indledt med et andet ordtegn.

\1 kaldes en erstatnings nummereret tilbagereference , der blot sætter den værdi, der er fanget med gruppe 1, i erstatningsresultatet.



  1. Er det muligt at slette fra flere tabeller i samme SQL-sætning?

  2. Kan ikke oprette forbindelse til lokal MySQL-server via socket '/tmp/mysql.sock

  3. Træk to forespørgsler fra samme tabel

  4. Mysql sammenligner kommasepareret felt med enkelt streng