PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como dividir um nome em sobrenome mais iniciais


O regex usado no PostgreSQL é realmente implementado usando um pacote de software escrito por Henry Spencer. Não é estranho, tem suas próprias vantagens, peculiaridades.

Uma das diferenças dos mecanismos usuais de regex NFA é o limite da palavra. Aqui, \Y corresponde a um limite de não-palavra. O resto dos padrões que você precisa são bastante conhecidos.

Então, você precisa usar '^(\w+)|\Y\w' padrão e um '\1' substituição.

Detalhes :
  • ^ - início da âncora de string
  • (\w+) - Grupo de captura 1 caracteres de 1 ou mais palavras correspondentes (isso será referido com \1 do padrão de substituição)
  • | - ou
  • \Y\w - um caractere de palavra que é precedido por outro caractere de palavra.

O \1 é chamado de substituição referência numerada , que apenas coloca o valor capturado com o Grupo 1 no resultado de substituição.