-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 10/12/2013 05:48 PM, Osvaldo Kussama wrote:
> Em 12/10/13, Guimarães Faria Corcete DUTRA, Leandro<l...@dutras.org>
> escreveu:
>> 2013/10/12 Eloi Ribeiro <e...@openmailbox.org>:
>>> 
>>> Gostaria de separar os caracteres minúsculos dos maiúsculos
>> 
>> Expressões regulares?
> 
> 
> Na linha proposta pelo Dutra:
> 
> SELECT regexp_replace(foo, '(^[a-z]*)([A-Z]*)([a-z]*)', 
> E'\\1,\\2,\\3', 'g') FROM (VALUES ('lKv'), ('uMIsn'), ('CASi'),
> ('K'), ('CAS')) AS bar(foo); regexp_replace ---------------- l,K,v 
> u,MI,sn ,CAS,i ,K, ,CAS, (5 rows)
> 
> Osvaldo

Até agora só tinha usado o LIKE / ILIKE com %. Fui ver o que era isso
de 'Expressões regulares' e quase termino com dores de cabeça. Muito duro.

Tinha até chegado aqui, depois de algum tempo de testes:
SELECT substring('lbcCASsvn', '^([a-z]{1,5})'); -- "lbc"
SELECT substring('lbcCASsvn', 'Y*([A-Z]{1,5})'); -- "CAS"
SELECT substring('lbcCASsvn', 'A*([a-z]{1,5})$'); -- "svn"

Mas a solução do Osvaldo é muito mais elegante.

Dutra muito obrigado pela acertada dica. E Osvaldo pela precisa solução.

Cumprimentos,

Eloi


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJSWYqeAAoJEP9qulIE6g+y1bMH/jv6NxggjUMcB2DUbSWt3l1Q
FbIEErwV0ofmlsHqcpx4ukGO62hyWZ+8xVaeceAnXXfnms5orCqnNWT2oahRaN+n
7Zcqt0sZzgzpU+ghkBRLm8LP4EhNEp+agE1/l1H7NukdhRGFO/peao0rkhXJ9CIK
b4FZmChGI/+V0aa1Al5pKN/q0eb2xHa5i4PTXvugO6gxws0iUEdWFn1Ex4hjFeEt
gMxd8eEMg0EAu2smWCFBU08FdUPkTqHVldoaQydAJHAsgJSSyRptPvEaIRwkpvwV
Ox0lrirfQnd71r/KgcOK0rUAjo6gCsDmvdUXpmTXl29FtdUszNOi5yz4SUFi4QE=
=o7c9
-----END PGP SIGNATURE-----
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a